css flex 布局注意事项
1.父容器主要设置的 属性
flex-flow(flex-direction主轴方向 和 flex-wrap 如何换行 的简写) : 默认为 row nowrap 即 水平左起点 不换行
第一个值的其他可能:row-reverse:水平,右; column:垂直,起点在上沿; column-reverse:垂直;下沿
第二个值的其他可能:wrap:换行,第一行在上方; wrap-reverse:换行,第一行在下方
-----------------------------------------------
justify-content 主轴上的对齐方式 : flex-start(默认值):左对齐; flex-end:右对齐; center:居中; space-between:两端对齐,项目之间的间隔都相等(与边框无间隔); space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
------------------------------------------
align-items 交叉轴上对齐方式:flex-start:交叉轴的起点对齐。flex-end:交叉轴的终点对齐。center:交叉轴的中点对齐(可以方便的实现垂直居中). baseline: 项目的第一行文字的基线对齐; stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
--------------------------------------------------------------------------------------------------------------------------
align-content(不常用) 定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用
可能取6个值:flex-start:与交叉轴的起点对齐。flex-end:与交叉轴的终点对齐。center:与交叉轴的中点对齐。space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。stretch(默认值):轴线占满整个交叉轴。
2.子 项目上 的 主要属性
flex(优先使用)***
flex属性是flex-grow(默认0,不放大;其他值如1,2按比例放大),
flex-shrink(默认1,等比缩小;如果0,不缩小) 和
flex-basis(在分配多余空间之前,项目占据的主轴空间,默认值为auto,即项目的本来大小,它可以设为跟width或height属性一样的值(比如350px),则项目将占据固定空间
)的简写,默认值为0 1 auto。后两个属性可选。
该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。
建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
注意: 设置第三个值为固定长度如100px时,前两个不能省略即须写为: flex: 0 0 100px
---------------------------------------------------------------
align-self(不常用)
align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。