Flex布局常见属性
常见父项属性
flex-direction 设置主轴的方向
- row 默认值从左到右
- row-reverse 从右到左
- column 从上到下
- column-reverse 从下到上
justify-content 设置主轴上的子元素排列方式
- flex-start 默认值,从头部开始;如果主轴是x轴,则从左到右
- flex-end 从尾部开始排列
- center 在主轴居中对齐(如果主轴是x轴,则水平居中)
- space-around 平分剩余空间
- space-between 先两边贴边,再平分剩余空间(重要)
flex-wrap 设置子元素是否换行
- nowrap 默认,不换行
- wrap 换行
align-content 设置侧轴上的子元素的排列方式(多行)
- flex-start 默认值,从侧轴的头部开始排列
- flex-end 从侧轴的尾部开始排列
- center 在侧轴中间显示
- space-around 子项在侧轴平分剩余空间
- space-between 子项在侧轴先分布在两头,再平分剩余空间
- stretch 设置子元素高度平分父元素高度
align-items 设置侧轴上的子元素的排列方式(单行)
- flex-start 默认值,从头部开始;如果侧轴是y轴,则从上到下
- flex-end 从尾部开始排列
- center 在侧轴居中对齐(如果侧轴是y轴,则垂直居中)
- stretch 拉伸
flex-flow 复合属性,相当于同时设置了flex-direction和flex-wrap
例:flex-flow: row wrap;
常见子项属性
flex 子项目占的份数
flex属性定义子项目分配剩余空间,用flex来表示占多少份数。
flex: 1; // 分配全部剩余空间
align-self 控制子项自己在侧轴上的排列方式
- align-self允许单个项目与其他项目不一样的对齐方式,可覆盖align-items属性;
- 默认值是auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch
span{ align-self: flex-end;}
// 设置自己在侧轴上的排列方式
order 定义子项的排列顺序(前后顺序)
- 数值越小,排序越靠前,默认为0;
- 注意:和z-index不一样;