http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

http://www.w3cplus.com/css3/flexbox-basics.html

flexbox优点:

1 如果元素容器没有足够的空间,我们无需计算每个元素的宽度,就可以设置他们在同一行;

2 可以快速让他们布局在一列;

3 可以方便让他们对齐容器的左、右、中间等;

4 无需修改结构就可以改变他们的显示顺序;

5 如果元素容器设置百分比和视窗大小改变,不用提心未指定元素的确切宽度而破坏布局,因为容器中的每个子元素都可以自动分配容器的宽度或高度的比例。

注意,设为Flex布局以后,子元素的floatclearvertical-align属性将失效。

footer {display: flex;flex-flow: row wrap;}	

flex-flow: flex-direction(伸缩流的方向)和flex-wrap(伸缩行换行)

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

flex-direction:row、row-reverse、columncolumn-reverse

row(默认值):主轴为水平方向,起点在左端。

row-reverse:主轴为水平方向,起点在右端。

column:主轴为垂直方向,起点在上沿。

column-reverse:主轴为垂直方向,起点在下沿。

flex-wrap:nowrap、wrap、wrap-reverse

   nowrap(默认):不换行。

   wrap:换行,第一行在下方。

   wrap-reverse:换行,第一行在上方。

设置flexbox子元素(伸缩项目)的对齐:

侧轴(垂直)对齐伸缩项目----align-items:flex-start/baseline(项目的第一行文字的基线对齐)、flex-endcenterstretch

等同于 align-self


主轴对(水平)齐伸缩项目----justify-content:flex-start、flex-end、centerspace-between、space-around

伸缩项目堆栈伸缩航----align-content:flex-start、flex-end、centerspace-between、space-around、stretch


改变元素布局顺序:order:flex-grow、flex-shrink、flex-basis;

flex-grow为数值 数值取值越大,越排在后面。并且order可以取负值    flex:1;

flex-basis为数值+宽度    flex:1 200px;

flex-shrink称为收缩比率,这个值只有伸缩项目在没主轴方向溢出伸缩容器才会发挥作用. flex:1 2 600px

flex属性是flex-grow, flex-shrinkflex-basis的简写,默认值为0 1 auto。后两个属性可选。