传统布局
flex布局
建议PC端布局选择传统布局,移动端或者不考虑兼容性的PC端界面,使用flex布局。
采用Flex布局的元素,称为Flex容器(flex container),简称“容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称“项目”。
通过给父盒子添加flex (display:flex)属性,来控制盒子的位置和排列方式。
属性名 | 说明 |
---|---|
flex-direction | 设置主轴的方向 |
justify-content | 设置主轴上的子元素排列方式 |
flex-wrap | 设置子元素是否换行 |
align-content | 设置侧轴上的子元素的排列方式(多行) |
align-items | 设置侧轴上的子元素的排列方式(单行) |
flex-flow | 复合属性,相当于同时设置零五flex-direction和flex-wrap |
属性值 | 解释说明 |
---|---|
row | 默认值从左到右 |
row-reverse | 从右到左 |
column | 从上到下 |
column-reverse | 从下到上 |
属性值 | 解释 |
---|---|
flex-start | 默认值,从头部开始,如果主轴是x轴,则从左到右 |
flex-end | 从尾部开始排列(排列时元素末尾贴到盒子尾部,类似右浮动) |
center | 在主轴局中对齐 |
space-around | 平分剩余空间 |
space-between | 先两边贴边,在平分剩余空间 |
属性值 | 解释 |
---|---|
nowrap | 默认值,不换行 |
wrap | 换行 |
属性值 | 解释 |
---|---|
flex-start | 默认值,从上到下 |
flex-end | 从下到上 |
center | 挤在一起局中(垂直居中) |
stretch | 拉伸(子元素高度拉伸到父元素高度) |
属性值 | 解释 |
---|---|
flex-start | 在侧轴头部开始排列 |
flex-end | 在侧轴尾部开始排列 |
center | 在侧轴中间显示 |
space-around | 平分剩余空间 |
space-between | 先两边贴边,在平分剩余空间 |
stretch | 设置子项元素高度平分父元素高度 |
是flex-direction和flex-wrap 属性的复合属性
flex-flow:row nowrap;
属性值 | 解释 |
---|---|
flex | 子项目占的份数 |
align-self | 控制子项自己在侧轴的排列方式 |
order | 定义子项的排列顺序(前后顺序) |
item {
flex:<number>;
}
(弹性布局中的子元素即使是行内元素,也可以直接设置宽高)