【发布时间】:2015-03-23 11:43:11
【问题描述】:
我理解 flex-grow:它允许 flex 项根据相对于同一行/列上其他 flex 项的比率增长。
我了解 flex-shrink:它允许 flex 项根据相对于同一行/列上其他 flex 项的比率进行收缩。
我了解 flex-basis:它覆盖了 main-size 值并设置它的宽度(或高度,取决于方向)。
但是,我不明白flex-basis: auto || 0之类的。
这是我的代码:
<div class="container">
<div class="one item">Box 1</div>
<div class="two item">Box 2</div>
<div class="three item">Box 3</div>
</div>
和css:
.container {
display: flex;
}
.item {
border: solid red 1px;
padding: 5px;
}
.one {
flex: 1 0 100px;
}
.two {
flex: 1 0 auto;
}
.three {
flex: 1 0 auto;
}
我希望所有三个框的大小都相同,因为它们都设置为flex-grow: 1。然而,不仅如此,Box one 比任何一个盒子都大并且大于 100px。
尽管 flex-grow 和 box 1 的 flex-basis 的比例均匀,但是是什么导致尺寸不均匀?
【问题讨论】: