flex布局
相关知识
rem
em 是相对于父元素字体大小
rem (root em) 是相对于 html的字字大小, 所以可以通过修改html里面的文字大小来控制整体页面元素媒体查询 - (Media Query)
可以根据不同的屏幕尺寸设置不同的样式
@media screen and (max-width: 800px){ }
上面代码的意思就是: 在屏幕上,并且最大宽度是 800 像素 , 在大括号里面设置我们想要的样式
分为主轴和侧轴
默认 X 轴为主轴 Y 轴为侧轴
flex-direction - 主轴方向
flex-direction
属性决定主轴的方向
flex-direction: row | row-reverse | column | column-reverse
row
(默认值):主轴为水平方向,起点在左端。row-reverse
:主轴为水平方向,起点在右端。column
:主轴为垂直方向,起点在上沿。column-reverse
:主轴为垂直方向,起点在下沿。
flex-wrap - 是否换行
flex-direction
属性决定是否换行, 默认不换行
flex-wrap: nowrap | wrap | wrap-reverse
nowrap
(默认值) : 不换行wrap
: 换行, 第一行在上方wrap-reverse
: 换行, 第一行在下方
flex-flow - 流动
flex-flow
属性是flex-direction
属性和flex-wrap
属性的简写形式,默认值为row nowrap
justify-content - 内容的主轴对齐方式
justify-content
属性定义了项目在主轴上的对齐方式
justify-content: flex-start | flex-end | center | space-between | space-around;
flex-start
(默认值):左对齐flex-end
:右对齐center
: 居中space-between
:两端对齐,项目之间的间隔都相等。space-around
:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
align-items - 侧轴对齐方式
align-items
属性定义项目在交叉轴上如何对齐。
align-items: flex-start | flex-end | center | baseline | stretch;
flex-start
:交叉轴的起点对齐。flex-end
:交叉轴的终点对齐。center
:交叉轴的中点对齐。baseline
: 项目的第一行文字的基线对齐。stretch
(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
align-content - 多轴线对齐方式
align-content
属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
flex-start
:与交叉轴的起点对齐。flex-end
:与交叉轴的终点对齐。center
:与交叉轴的中点对齐。space-between
:与交叉轴两端对齐,轴线之间的间隔平均分布。space-around
:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。stretch
(默认值):轴线占满整个交叉轴。