主轴与侧轴
在flex布局中,分别为主轴和侧轴两个方向,或行列 或X轴Y轴;
默认主轴方向是X轴,水平向右;侧轴方向是Y轴,水平向下;
flex-direction
设置主轴的方向
属性值 | 说明 |
---|---|
row | 从左到右 (默认) |
row-reverse | 从右到左 |
column | 从上到下 |
column-reverse | 从下到上 |
flex-wrap
设置子元素是否换行;
默认情况下,项目都排在一条轴线上,flex 布局中默认不换行
属性值 | 说明 |
---|---|
nowrap | 不换行(默认) |
wrap | 换行 |
wrap-reverse | 相反顺序换行(第一行在下方) |
justify-content
设置主轴上的子元素的排列方式,定义了项目在主轴上的对齐方式,需要在使用之前确定好主轴是哪个
属性值 | 说明 |
---|---|
flex-start | 从头部开始,如果主轴是 x 轴,则从左到右 (默认) |
flex-end | 从尾部开始排列 |
center | 在主轴居中对齐,如果主轴是 x 轴,则水平居中 |
space-between | 先两边贴边,再平分剩余空间 |
space-around | 平分剩余空间 |
align-items
设置侧轴上的子元素的排列方式(单行)
该属性是控制子项在侧轴(默认是 y 轴)上的排列方式,在子项为单项的时候使用。
属性值 | 说明 |
---|---|
stretch | 拉伸 |
flex-start | 从上到下(默认) |
flex-end | 从下到上 |
center | 挤在一起居中(垂直居中) |
baseline | 元素位于容器的基线上。如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。 |
align-content
设置侧轴上的子元素的排列方式(多行)
该属性设置子项在侧轴上的排列方式,并且只能用于子项出现换行的情况,在单行下没有效果。
属性值 | 说明 |
---|---|
stretch | 设置子项元素高度平分父元素高度 |
flex-start | 在侧轴的头部开始排列(默认) |
flex-end | 在侧轴的尾部开始排列 |
center | 在侧轴中间显示 |
space-between | 子项在侧轴先分布在两头,再平分剩余空间 |
space-around | 子项在侧轴平分剩余空间 |
flex-flow
复合属性,相当于同时设置了 flex-direction 和 flex-wrap