Flexibility
Flex伸缩布局决定性的特性是让伸缩项目可伸缩,也就是让伸缩项目的宽度或高度自动填充剩余的空间。这可以以flex属性完成。一个伸缩容器会等比地按照各伸缩项目的 扩展比率 分配剩余空间,也会按照 收缩比率 缩小各项目以避免溢出。
Flex属性
flex属性可用来指定 可伸缩长度 的部件:扩展比率,收缩比率,伸缩基准线。当有一个元素是伸项目时,flex属性将代替主轴长度属性决定元素的主轴长度。若元素不是伸缩项目,则flex属性不生效。
flex 是 flex-grow、flex-shrink、flex-basis的缩写
.item { flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]} |
flex-basis取值的几种情况:
flex 的常见值
flex的默认值:由于 flex-grow、flex-shrink、flex-basis三个属性值在不设置的情况下默认值分别为 0、1、auto,所以flex的默认值为:flex:0 1 auto;
.item { flex: 0 1 auto;}/*这种情况先根据width/height属性决定元素的尺寸。(如果项目的主尺寸为auto,则会以其内容大小为基准)当剩余空间为正值时,伸缩项目无法伸缩,但当空间不足时,伸缩项目可收缩至其[最小]值。默认状态下,伸缩项目不会收缩至比其最小内容尺寸更小。可以通过设置「min-width」或「min-height」属性来改变这个默认状态。*/ |
flex: 0 auto:由于之前提到过,若在flex的缩写中省略了flex-shrink的值,则该值指定为 1,所以flex:0 auto就相当于flex:0 1 auto(也就是与flex取默认值一样);
新闻热点
疑难解答