传统的布局解决方案,是基于盒子模型,利用position + margin + float来完成;但这种布局方案对部分布局方式很不友好,好比水平垂直居中布局
Flex布局是W3C提供的一种新型布局解决方案,利用弹性盒子布局,能够作到响应式设计,更好的适配PC端和移动端flex
采用Flex布局的元素成为Flex容器(flex container),内部元素成为Flex项目(flex item) spa
Flex容器内部分为主轴(main axis)和交叉轴(cross axis);项目分为主轴(main size)和交叉轴(cross size)设计
决定内部项目在主轴上如何排列3d
flex-direction: row | row-reverse | column | column-reversecdn
决定内部项目的换行方式blog
flex-warp: nowarp | warp | warp-reverse继承
flex-direction和flex-warp的简写形式,默认是row nowarpit
flex-flow: < flex-direction > < flex-wrap >;io
决定项目在主轴上的对齐方式
justify-content: flex-start | flex-end | center | space-between | space-around
决定项目在交叉轴上的对齐方式
aline-items: flex-start | flex-end | center | baseline | stretch
定义了多轴线的对其方式,若是只存在一条轴线,则不起做用
aline-content: flex-start | flex-end | center | stretch | space-between | space-around
定义项目的排列顺序,数值越小排列越靠前,默认为0,负值有效
定义项目的放大比例,默认为0
定义了项目的缩小比例,默认为1;负值无效
定义了在分配多余空间以前,项目占据的主轴空间,默认值为项目原本大小
flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto
容许单个项目有与其余项目不同的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,若是没有父元素,则等同于stretch。