flex讲解
- 采用Flex布局的元素,称为Flex容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。
- 容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做
main start
,结束位置叫做main end
;交叉轴的开始位置叫做cross start
,结束位置叫做cross end
。项目默认沿主轴排列。单个项目占据的主轴空间叫做main size
,占据的交叉轴空间叫做cross size
容器的属性
flex-direction
排列方向 row | row-reverse | column | column-reverse
flex-wrap
nowrap | wrap | wrap-reverse
justify-content
主轴对齐方式 flex-start | flex-end | center | space-between | space-around
align-items
交叉轴对齐方式 flex-start | flex-end | center | baseline | stretch
- 子元素的flex属性:
flex
属性是flex-grow
,flex-shrink
和flex-basis
的简写,默认值为0 1 auto
。后两个属性可选。- flex-grow 定义项目的放大比例
- flex-shrink定义项目的缩小比例
- flex-basis 定义了在分配多余空间之前,浏览器根据这个属性,计算主轴是否有多余空间 默认auto
- flex-grow 定义项目的放大比例
tip
: 在基准值之内grow分配之外之外多余的部分按照grow的比例分配,超出的量按照shrink比例收缩并且basis失效。