总结自文章Flex 布局教程:语法篇
实例参考Flex 布局教程:实例篇
一、Flex布局:弹性布局
设置flex布局后,float、clear和vertical-align属性会失效
二、基本元素
- flex contatiner:Flex容器
- flex item:子元素(容器成员)
- main axis:主轴(水平)
- cross axis:交叉轴(垂直)
- main start:主轴开始位置
- main end:主轴结束位置
- cross start:交叉轴开始位置
- cross end:交叉轴结束位置
- mian size:项目所占据的主轴空间
- cross size:项目所占据的交叉轴空间
三、容器属性
- flex-direction:决定主轴方向( row | row-reverse | column | column-reverse;)
- flex-wrap:决定换行方式(nowrap | wrap | wrap-reverse;)
- flex-flow:是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
- justify-content:决定项目在主轴上的对齐方式(flex-start | flex-end | center | space-between | space-around;)
- align-items:决定项目在交叉轴上的对齐方式(flex-start | flex-end | center | baseline | stretch;)
- align-content:定义多根轴线的对齐方式(flex-start | flex-end | center | space-between | space-around | stretch;)
四、项目属性
- order:定义项目的排列顺序,数值越小,排列越靠前,默认为0。
- flex-grow :定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
- flex-shrink:定义项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
- flex-basis:定义了在分配多余空间之前,项目占据的主轴空间,它的默认值为auto,即项目的本来大小。
- flex:是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto,后两个属性可选
- align-self:允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性,默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。