flex Container 默认存在两根轴线main axis(默认横向) 和 cross axis
在容器上设置display:flex
以及下面六个属性
flex-direction
主轴方向 row(默认) | row-reverse | column | column-reverseflex-wrap
换行 nowrap(默认) | wrap | wrap-reverse (第一行在下方)flex-flow
上面两个属性的缩写形式 flex-flow: row nowrap;justify-content
flex-start(默认) | flex-end | center |
space-between(两端对齐,左右端item紧贴边框) |
space-around (各个item间距相等,item与边框间隔为item之间间距的一半)
设置flex item在main axis的对齐方式align-items
flex-start | flex-end | center |
baseline(项目的第一行文字的基线对齐。) |
stretch(默认,若item未设置高度或auto,讲占满整个container)
设置flex item在cross axis的对齐方式align-content
flex-start | flex-end | center | space-between | space-around | stretch(默认)
设置flex item在cross axis的对齐方式 ,有多行item才生效,需设置flex-wrap换行
下面六个属性在item上设置
order
定义项目的排列顺序,默认0,数值越小越靠前flex-grow
定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大
可按比例设置调节项目空间,设置flex-grow:2;的项目空间是flex-grow:1;的两倍,设置相同(不为0)值,则均分空间flex-shrink
定义项目的缩小比例,默认为1,即如果空间不足,将缩小。
如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。flex-basis
在flex-grow、flex-shrink之前,定义项目在主轴上占据的空间main size,默认auto,即项目本来大小
它可以设为跟width或height属性一样的值(比如350px),则项目将占据固定空间。flex
三个属性的缩写
顺序为 flex-grow |(可选 flex-shrink | flex-basis)可选
默认 0 1 auto
两个快捷值 auto有缩放(1 1 auto) none无缩放(0 0 auto)align-self
为单个项目设置对齐方式
auto(默认,表示继承,若无父元素,则为strech) |
flex-start | flex-end | center | baseline | stretch