Flex布局
flex布局原理
flex布局父项常见属性
- flex-direction:设置主轴的方向
- justify-content:设置主轴上的子元素排列方式
- flex-wrap:这是子元素是否换行
- align-content:设置侧轴上的子元素的排列方式(多行)
- align-items:设置侧轴上的子元素排列方式(单行)
- flex-flow:复合属性,相当于同时设置了flex-direction和flex-warp
flex-direction 设置主轴的方向
justify-content 设置主轴上子元素的排列方式
justify-content 属性定义了项目在主轴上的对齐方式
注意:使用这个属性之前一定要确定好主轴是哪个
flex-wrap 设置子元素是否换行
默认情况下,项目都排在一条直线上(又称“轴线”)上。flex-warp属性定义,flex布局中默认不换行的。如果装不下,会缩小子元素的宽度,放到父元素里面。
align-items 设置侧轴上的子元素排列方式(单行)
该属性是控制子项侧轴(默认是Y轴)上的排列方式 在子项为单项的时候使用
align-content 设置侧轴上的子元素排列方式(多行)
设置子项在侧轴上的排列方式并且只能用于子项出现换行的情况(多行),在单行下是没有效果的。
属性值 | 说明 |
---|---|
flex-start | 默认值在侧轴的头部开始排列 |
flex-end | 在侧轴的尾部开始排列 |
center | 在侧轴的中间显示 |
space-around | 子项在侧轴平分剩余空间 |
space-between | 子项在侧轴先分布在两头,再评分剩余空间 |
stretch | 设置子项元素高度平分父元素高度 |
flex-flow
flex-flow 属性是flex-direction和flex-warp属性的复合属性
flex-flow:row wrap;
flex 布局子项常见属性
flex 属性
flex: 表示子项占据剩余空间的份数
align-self 控制子项在自己侧轴上的排列方式
align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
span:nth-child(2){
//设置自己在侧轴上的排列方式
align-self: flex-end;
}
order 属性定义项目的排列顺序
数值越小,排列越靠前,默认为0.
注意:和z-index不一样。
div span:nth-child(2){
order: -1;
}
的排列顺序
数值越小,排列越靠前,默认为0.
注意:和z-index不一样。
div span:nth-child(2){
order: -1;
}