Flex布局是Flexble Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性,而且任何一个容器都可以指定为Flex布局,行内元素也可以使用Flex布局,值得注意的一点就是:当你设置Flex布局之后,子元素的float,clear和vertical-align属性在其中起不了任何作用,称为失效。
采用Flex布局的元素,称为Flex容器,简称容器。它的所有子元素会自动成为容器中的一员,称为Flex项目,简称项目,容器默认存在两根轴,水平的主轴和垂直的交叉轴。使用display通用属性来创建一个fllexbox容器,并将直属内部子元素转换为flex属性,flex元素的容器和子项目可以通过额外的flex属性定义来进一步修改,容器有六个属性设置在容器上,分别是
(1)在flex-direction属性中,它有4个值,分别是row·(默认值):主轴为水平方向,起点在左端。Row-reverse:主轴为水平方向,起点在右端。Column:主轴为垂直方向,起点在上沿。Column-reveres:主轴为垂直方向,起点在下沿
(2)在flex-wrap属性中,默认情况下,项目都会排在一条线(轴线)上,flex-wrap属性定义,如果项目在一条轴线中排不下,应该如何换行。它有三个值:
(1) Nowrap(默认值):不换行
(2) Wrap:换行,并且第一行在上方
(3) Wrap-reverse:换行,第一行在下方
(3)Flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值是row nowrap
(4)Justify-content属性定义了项目在主轴上的对齐方式:一般来说,它有5个值,具体对齐方式与轴的方向有关,下面假设主轴从左到右
(5)在Align-items属性中,一般都是定义项目在交叉轴上如何对齐,有5个值,具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下:
(6)align-content属性定义了多根轴线的对齐方式,如果项目只有一根轴线,该属性起不了任何作用,它有6个值