1. 定义
flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。
flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。
注意:若是元素不是弹性盒模型对象的子元素,则 flex 属性不起做用。
2. 语法
flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;
- flex-growsegmentfault
指定该项相对于同一容器中其余灵活项的增加程度。默认值为0。testflex


- flex-shrinkspa
指定该项相对于同一容器中其余灵活项的收缩程度。默认值为1。.net
flex环境默认是不换行的,容器长度不够分配时会压缩子元素。
box1压缩值 = (200*2) / (200*2 + 160*1) * 60 ≈ 42.86
box1最终宽度 = 200 - 42.86 = 157.14
√
box2压缩值 = (160*1) / (200*2 + 160*1) * 60 ≈ 17.14
box2最终宽度 = 160 - 17.14 = 142.86
√
两个值经过文章所说的方法都计算正确,但具体为何要这样计算呢,暂时还没找到比较官方的说明。
- flex-basiscode
指定flex容器中子项的初始长度。默认值为auto。
对象

添加右边样式后,剩余长度按1:1分配,即blog
box1宽度: 200 + 40/2 = 220get
box2宽度: 60 + 40/2 = 80 it
3.兼容性class
参考: