flex布局是什么?
- Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。
- 任何一个容器都可以指定为Flex布局。
.box{ display: flex;}
.box{ display: inline-flex;}
- 注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。
容器的属性(6个)
- flex-direction :属性决定主轴的方向
- flex-wrap :如果一条轴线排不下,如何换行
- flex-flow :前两个的简写形式
- justify-content :定义了项目在主轴上的对齐方式。
- align-items :定义项目在交叉轴上如何对齐
- align-content :定义了多根轴线的对齐方式。
flex-direction
row(默认值):主轴为水平方向,起点在左端。row-reverse:主轴为水平方向,起点在右端。column:主轴为垂直方向,起点在上沿。column-reverse:主轴为垂直方向,起点在下沿。
- 图示

flex-wrap
- 默认情况下,项目都排在一条线(又称”轴线”)上。
- flex-wrap属性定义,如果一条轴线排不下,如何换行。
.box{ flex-wrap: nowrap | wrap | wrap-reverse;} nowrap(默认):不换行 wrap:换行,第一行在上方。 wrap-reverse:换行,第一行在下方。

flex-flow
- flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,
- 默认值为row nowrap。
.box { flex-flow: <flex-direction> <flex-wrap>;}
justify-content
- justify-content属性定义了项目在主轴上的对齐方式。
.box { justify-content: flex-start | flex-end | center | space-between | space-around;}
flex-start(默认值):左对齐flex-end:右对齐center: 居中space-between:两端对齐,项目之间的间隔都相等。space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

align-items
- align-items属性定义项目在交叉轴上如何对齐
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