即使使用 flex-shrink,Flex 项目也会收缩:0

son*_*ouf 7 html css flexbox

flex-shrink属性指定该项目将如何相对于同一容器内的其余灵活项目收缩,因此当我给出其中一个时,flex-shrink0不应该收缩,但它会收缩。

#content {
  -ms-box-orient: horizontal;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -moz-flex;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
}
.box {
  flex-grow: 1;
  flex-shrink: 0;
  border: 3px solid rgba(0, 0, 0, .2);
}
.box1 {
  flex-grow: 1;
  flex-shrink: 0;
  border: 3px solid rgba(0, 0, 0, .2);
}
Run Code Online (Sandbox Code Playgroud)
<h4>it shinks with a flex-shrink of 0</h4>
<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 class="box" style="background-color:brown;">F</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Mic*_*l_B 4

您没有为 Flex 项目指定足够的宽度以溢出容器 ( nowrap) 或线条 ( wrap)。因此,flex-shrink没有被要求采取行动。如果弹性项目足够宽,它们将溢出容器或包装,并且不会像您预期的那样收缩。

#content {
  display: flex;
  flex-flow: row wrap;
}
.box {
  flex: 1 0 150px;
  border: 3px solid rgba(0, 0, 0, .2);
}
.box1 {
  flex: 1 0 200px;
  border: 3px solid rgba(0, 0, 0, .2);
}
Run Code Online (Sandbox Code Playgroud)
<h4>it shinks with a flex-shrink of 0</h4>
<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 class="box" style="background-color:brown;">F</div>
</div>
Run Code Online (Sandbox Code Playgroud)