一、父项常见属性
- flex-direction:设置主轴的方向
- justify-content:设置主轴上子元素的排列方式
- flex-wrap:设置子元素是否换行
- align-items:设置侧轴上的子元素的排列方式(单行)
- align-content:设置侧轴上的子元素的排列方式(多行)
- flex-flow:复合属性,相当于同时设置了flex-direction和flex-wrap
1.flex-direction:设置主轴的方向
(1)描述
在flex布局中,是分为主轴和侧轴两个方向,同样的叫法有:行和列,x轴和y轴。
默认主轴方向是x轴方向,水平向右
默认侧轴方向是y轴方向,水平向下
(2)图解
(3)使用
flex-direction: row; //默认从左到右
flex-direction: row-reverse;//从右到左
flex-direction: column;//从上到下
flex-direction: column-reverse;//从下到上
2.justify-content:设置主轴上子元素的排列方式
(1)描述
- justify-content属性定义了项目在主轴上的排列方式
- 使用这个属性之前一定要确定好主轴是哪个
(2)使用
/* 默认值从头部开始,如果主轴是x轴则从左向右 */
justify-content: flex-start;
/* 从尾部开始排列 */
justify-content: flex-end;
/* 在主轴居中对齐 */
justify-content: center;
/* 平分剩余空间 */
justify-content: space-around;
/* 先两边贴边,再平分剩余空间(重要) */
justify-content: space-between;
3.flex-wrap:设置子元素是否换行
(1)描述
默认情况下,项目都排在一条线上(又称“轴线”)上,flex-wrap属性定义,flex布局中默认是不换行的。
(2)使用
//默认值不换行
flex-wrap:nowrap;
//换行
flex-wrap:wrap;
4.align-items:设置侧轴上的子元素的排列方式(单行)
(1)描述
该属性是
控制子项
在侧轴(默认是y轴)上的排列方式,在子项为单行的时候使用。
(2)使用
//从上到下排列
align-items: flex-start;
//从下到上排列
align-items: flex-end;
//挤在一起居中(垂直居中)
align-items: center;
//拉伸
align-items: stretch;
5.align-content:设置侧轴上的子元素的排列方式(多行)
(1)描述
该属性是
控制子项
在侧轴(默认是y轴)上的排列方式并且只能用于出现换行
的情况(多行),在单行下没有效果。
(2)使用
/* 默认值在侧轴的头部开始排列*/
align-content: flex-start;
/* 从侧轴的尾部开始排列 */
align-content: flex-end;
/* 在侧轴的中间显示 */
align-content: center;
/* 子项在侧轴平分剩余空间 */
align-content: space-around;
/* 子项侧轴先分布在两头,再平分剩余空间 */
align-content: space-between;
/* 设置子项元素高度平分父元素高度 */
align-content: stretch;
6.flex-flow:复合属性
(1)描述
相当于同时设置了flex-direction和flex-wrap
(2)使用
//例如
flex-flow: row wrap;
二、子项常见属性
1.flex属性
(1)描述
flex属性定义子项目分配剩余空间,用flex来表示占多少分数
(2)使用
.item{
/* 默认是0 */
flex:<number>
}
2.align-self属性
(1)描述
align-self属性允许单个项目与其他项目不一样的对齐方式,可以覆盖align-items属性,默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
(2)使用
//例如:
.item{
align-self:flex-end;
}
3.order属性
(1)描述
order属性定义项目的排列顺序
数值越小,排列越靠前,默认为0
注意:和z-index不一样
(2)使用
//例如
.item{
order:-1;
}
网友评论