此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

flex-shrink

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年9月⁩.

CSS flex-shrink 属性指定了 flex 元素的收缩规则。flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据 flex-shrink 的值。

css
flex-shrink: 2; flex-shrink: 0.6; /* Global values */ flex-shrink: inherit; flex-shrink: initial; flex-shrink: unset; 
初始值1
适用元素flex items, including in-flow pseudo-elements
是否是继承属性
计算值as specified
动画类型a number

更多属性和定义请参见使用 CSS 弹性盒子

语法

flex-shrink 属性只能是一个 <number>

取值

<number>

负值是不被允许的。参考 <number>

Formal syntax

flex-shrink = 
<number [0,∞]>

示例

HTML

html
<p>the width of content is 500px, flex-basic of flex item is 120px.</p> <p>A, B, C are flex-shrink:1. D and E are flex-shrink:2</p> <p>the width of D is not the same as A's</p> <div id="content"> <div class="box" style="background-color:red;">A</div> <div class="box" style="background-color:lightblue;">B</div> <div class="box" style="background-color:yellow;">C</div> <div class="box1" style="background-color:brown;">D</div> <div class="box1" style="background-color:lightgreen;">E</div> </div> 

CSS

css
#content { display: flex; width: 500px; } #content div { flex-basis: 120px; border: 3px solid rgba(0, 0, 0, 0.2); } .box { flex-shrink: 1; } .box1 { flex-shrink: 2; } 

结果

规范

Specification
CSS Flexible Box Layout Module Level 1
# flex-shrink-property

浏览器兼容性

参考