布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。
Flex浏览器支持情况如下:
1、容器指定为Flex布局
display: flex;
display: inline-flex;
display: -webkit-flex; /* Safari Webkit内核的浏览器,必须加上-webkit前缀。/
注意:设为Flex布局以后,子元素的float、clear和vertical-align属性将失效
2、容器属性
flex-direction: row | row-reverse | column | column-reverse;
flex-wrap: nowrap | wrap | wrap-reverse;
不换行。| 换行,第一行在上方。| 换行,第一行在下方。
flex-flow: <flex-direction> || <flex-wrap>;//flex-direction和flex-wrap简写,默认值row nowrap。
justify-content: flex-start | flex-end | center | space-between | space-around;
align-items: flex-start | flex-end | center | baseline | stretch;
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
3、项目属性
order:<integer>;排列顺序,数值越小越靠前,默认为0。
flex-grow: <number>; / 放大比例 default 0 /
flex-shrink: <number>; /缩小比例 default 1 /
flex-basis: <length> | auto; /项目占据的主轴空间 default auto /
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]/flex-grow, flex-shrink 和 flex-basis简写。后两个可选。快捷值auto (1 1 auto) 和 none (0 0 auto)。默认值为0 1 auto/
align-self: auto | flex-start | flex-end | center | baseline | stretch;/对齐方式*/