前言
Flex布局是一种用于网页布局的CSS模块,全称为Flexible Box Layout Module。 Flex布局通过使用容器和项目来创建灵活的、自适应的页面布局。在Flex布局中,容器是指应用Flex布局的父元素,而项目则是指容器内的子元素。
主轴性质
采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。
容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start
,结束位置叫做main end
;交叉轴的开始位置叫做cross start
,结束位置叫做cross end
。
项目默认沿主轴排列。单个项目占据的主轴空间叫做main size
,占据的交叉轴空间叫做cross size
。
容器的属性
以下是一些常用的Flex布局属性:
flex-direction
:确定主轴的方向,可以是水平方向(row
)或垂直方向(column
)。justify-content
:定义项目在主轴上的对齐方式。align-items
:定义项目在交叉轴上的对齐方式。flex-wrap
:控制项目是否换行显示。flex-grow
:定义项目在剩余空间中的放大比例。flex-shrink
:定义项目在空间不足时的缩小比例。
flex-direction属性
flex-direction
属性决定主轴的方向(即项目的排列方向)。
sql.box { flex-direction: row | row-reverse | column | column-reverse; }
row
(默认值):主轴为水平方向,起点在左端。row-reverse
:主轴为水平方向,起点在右端。column
:主轴为垂直方向,起点在上沿。column-reverse
:主轴为垂直方向,起点在下沿。
flex-flow
flex-flow
属性是flex-direction
属性和flex-wrap
属性的简写形式,默认值为row nowrap
。
css
.box {
flex-flow: <flex-direction> || <flex-wrap>;
justify-content属性
justify-content
属性定义了项目在主轴上的对齐方式。
sql
.box {
justify-content: flex-start | flex-end | center | space-between | space-around;
flex-start
:交叉轴的起点对齐。flex-end
:交叉轴的终点对齐。center
:交叉轴的中点对齐。baseline
: 项目的第一行文字的基线对齐。stretch
(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
3.6 align-content属性
align-content
属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
sql.box { align-content: flex-start | flex-end | center | space-between | space-around | stretch; }
该属性可能取6个值。
flex-start
:与交叉轴的起点对齐。flex-end
:与交叉轴的终点对齐。center
:与交叉轴的中点对齐。space-between
:与交叉轴两端对齐,轴线之间的间隔平均分布。space-around
:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。stretch
(默认值):轴线占满整个交叉轴。
align-self属性
align-self
属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items
属性。默认值为auto
,表示继承父元素的align-items
属性,如果没有父元素,则等同于stretch
。
arduino
.item {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
如觉得本文对你有帮助的话,欢迎点赞❤❤❤,写作不易,持续输出的背后是无数个日夜的积累,您的点赞是持续写作的动力,感谢支持!