flex弹性盒子布局
语法:display:flex
属性与值
1、flex-direction属性决定主轴的方向(即项目的排列方向)
值:flex-direction:row/row-reverse/column/column-reverse
row:默认值。项目在主轴显示,起点在左端
row-reverse:项目在主轴显示,起点在右端
column:项目在垂直显示,起点在上端
column-reverse:项目在垂直显示,起点在下端
2、flex-wrap(常用)是否在在一行显示
值:flex-wrap:nowrap/wrap/wrap-reverse
nowrap:默认,不换行
wrap:换行,第一行在上方显示
wrap-reverse:换行,第一行在下方显示
3、flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
值:flex-flow:flex-direction flex-wrap
默认值为row nowrap
4、justify-content属性定义了项目在主轴上的对齐方式
值:justify-content:flex-start | flex-end | center | space-between | space-around;
flex-start:默认值,左对齐
flex-end:右对齐
center:居中
space-between:两端对齐,项目之间的间隔都相等
space-around每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
5、align-items属性定义项目在交叉轴上如何对齐。
值:align-items:flex-start | flex-end | center | baseline | stretch;
flex-start:交叉轴的起点对齐
flex-end:交叉轴的终点对齐
center:交叉轴的中心点对齐。
baseline: 项目的第一行文字的基线对齐。
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
6、align-content属性定义了多根轴线(多行)的对齐方式。 如果项目只有一根轴线,该属性不起作用
值:align-content:flex-start/felx-end/center/space-between/space-around/stretch
flex-start:交叉轴的起点对齐
flex-end:交叉轴的终点对齐
center:交叉轴的中心点对齐。
space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
stretch(默认值):轴线占满整个交叉轴
7、order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。允许负值
值:order:数值
8、flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。不允许负值
值:flex-grow:数值
如果所有项目的grow值均为1,将平分容器的宽度;
如果项目中其中一个为2,其他所有的为1,2的width 大于1 的width(所有的1 宽度)
9、flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
值:flex-shrink:数值
本项目的值等于1时所有项目平分, 一个项目的值大于1时,则该项目缩小, 如一个项目的值为0时,除该项目以外的所有项目均缩
10、flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。
值:flex-basis:数值+px