首页 文章

有没有办法(公式)计算flex-grow,flex-shrink和flex基础上描述的flex元素的绝对大小?

提问于
浏览
0

我做了一个小演示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 回答

  • 2

    最接近公式的只是规范中的算法:

    http://www.w3.org/TR/css3-flexbox/#resolve-flexible-lengths

    我不认为它可以很容易地在公式中描述 . 您可以使用公式覆盖简单的情况,但是当元素具有 min-widthmax-width 约束时,它会变得更复杂(并且需要算法的多个循环) .

    侧面注意:flexbox规范很可能很快会对 flex-growflex-shrink 行为进行一些小的改动,因此当它们的总和小于1时,它们会被视为一个百分比 . (例如, flex-grow: 0.1 永远不会给你超过10%的自由空间,即使你是唯一的孩子 . )这个提议在这里描述:http://lists.w3.org/Archives/Public/www-style/2013Oct/0246.html

相关问题