恐怕我不懂柔性生长。如果你跳到下面的JSFiddle-我理解它的方式,.big
应该是其他.flex-item
的三倍大小。正如你所看到的,不是这样的。为什么?
http://jsfiddle.net/nrur6mmo/
.flex-container {
display:flex;
padding:0 20%;
}
.flex-item {
flex-grow:1;
list-style-type:none;
border:1px solid black;
}
.big {
flex-grow:3;
}
<ul class="flex-container">
<li class="flex-item big">Why isn't this exactly three times the size of the other one?</li>
<li class="flex-item">Not really working like expected I don't think...</li>
</ul>
4条答案
按热度按时间vojdkbi01#
您还必须为
flex-basis
指定一个值(不指定此属性会导致与使用初始值auto类似的行为)。将
flex-basis: 0;
添加到两个子元素中,或者使用简写设置它:http://codepen.io/anon/pen/JEcBa
xu3bshqb2#
Flex-grow通常被误解为这种方式。Flex-grow只控制剩余的空间如何在Flex项目之间分配,而不是它们之间的比例有多大。
你要找的其实就是这个
另见
chy5wohz3#
作者被鼓励使用flex简写来控制灵活性,而不是直接使用flex-grow,因为简写可以正确地重置任何未指定的组件以适应常见用途。
https://drafts.csswg.org/css-flexbox/#propdef-flex-grow
这是一个工作示例
http://codepen.io/anon/pen/VjZYPV
rhfm7lfc4#
相关的东西:* * 秩序很重要。**例如:
联系我们
css:
以下样式工作:
但是如果你改变顺序,它将不工作:😲