最重要的一点是:对于flex容器,一定要给父容器设置定宽定高。否则将达不到想象中的效果。
flex布局基本要求
display:flex/inline-flex;
设置这个属性后float、clear、vertical-align属性将失效。
flex盒子的属性
属性一:flex-direction属性决定主轴的方向(即项目的排列方向)。
row | row-reverse | column | column-reverse; 最常用的row、column

属性二:flex-wrap属性决定如果一条轴线排不下,如何换行。
属性值分别是:不换行、换行且第一行在上方、换行且第一行在下方。
.box{
flex-wrap: nowrap | wrap | wrap-reverse;
}
属性三:flex-flow
属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。即水平排列且不换行。
.box {
flex-flow: <flex-direction> || <flex-wrap>;
}
属性四:justify-content
属性定义了项目在主轴上的对齐方式。(这个属性对于居中来说非常重要,经常会用到)
flex-start | flex-end | center | space-between | space-around;
flex-start:左对齐 flex-end:右对齐 center:居中
space-between:两端对齐,项目之间的间隔都相等。
space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。


属性五: align-content
align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
flex-start | flex-end | center | space-between | space-around | stretch;
注:实际上justify-content和align-content具有相似之处,justify-content是一根轴上各元素的对齐方式,而align-content是多跟轴线上,多轴线之多轴线之间的对齐方式。

这里面最常用的属性 flex-direction,justify-content,align-content
通过使用 flex-direction和align-content属性可以达到纯质居中的效果。(这个非常实用,相对于定高定宽)