CSS3 flex-shrink 属性

浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。

属性chromeedgefirefoxsafariopera
flex29.0
21.0 -webkit-
11.0
10.0 -ms-
28.0
18.0 -moz-
9.0
6.1 -webkit-
17.0

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

注意

如果元素不是弹性盒对象的元素,则 flex-shrink 属性不起作用。

默认值:1
继承:no
可动画化:是,参见个别的属性。请参阅 可动画化(animatable)
版本:CSS3
JavaScript 语法:object.style.flexShrink="5"

语法

flex-shrink: number|initial|inherit;

属性值

描述
number一个数字,规定项目将相对于其他灵活的项目进行收缩的量。默认值是 1。
initial设置该属性为它的默认值。
inherit从父元素继承该属性。

实例

A, B, C 设置 flex-shrink:1, D , E 设置为 flex-shrink:2:

<style>
#content {
  display: flex;
  width: 500px;
}

#content div {
  flex-basis: 120px;
  border: 3px solid rgba(0,0,0,.2);
}

.box { 
  flex-shrink: 1;
}

.box1 { 
  flex-shrink: 2; 
}
</style>

<p>div 总宽度为 500px, flex-basic 为 120px。</p>
<p>A, B, C 设置 flex-shrink:1。 D , E 设置为 flex-shrink:2</p>
<p>D , E 宽度与 A, B, C 不同</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>

效果

div 总宽度为 500px, flex-basic 为 120px。

A, B, C 设置 flex-shrink:1。 D , E 设置为 flex-shrink:2

D , E 宽度与 A, B, C 不同

A
B
C
D
E