我做了一个小演示http://html5.by/blogdemo/flexbox/flex-grow-shrink-basis-stackoverflow.html
flex容器中有2个flex项
-
flex:1 2 1000px;
-
flex:1 1 100px;
柔性容器的绝对宽度 - 500px;
最后,你可以看到,flex元素的宽度是:
-
421px
-
79px
我的问题:有没有办法用数学方法描述计算出的尺寸(公式)?
我做了一个小演示http://html5.by/blogdemo/flexbox/flex-grow-shrink-basis-stackoverflow.html
flex容器中有2个flex项
flex:1 2 1000px;
flex:1 1 100px;
柔性容器的绝对宽度 - 500px;
最后,你可以看到,flex元素的宽度是:
421px
79px
我的问题:有没有办法用数学方法描述计算出的尺寸(公式)?
1 回答
最接近公式的只是规范中的算法:
http://www.w3.org/TR/css3-flexbox/#resolve-flexible-lengths
我不认为它可以很容易地在公式中描述 . 您可以使用公式覆盖简单的情况,但是当元素具有
min-width
或max-width
约束时,它会变得更复杂(并且需要算法的多个循环) .侧面注意:flexbox规范很可能很快会对
flex-grow
和flex-shrink
行为进行一些小的改动,因此当它们的总和小于1时,它们会被视为一个百分比 . (例如,flex-grow: 0.1
永远不会给你超过10%的自由空间,即使你是唯一的孩子 . )这个提议在这里描述:http://lists.w3.org/Archives/Public/www-style/2013Oct/0246.html