Flex 布局 
百分比布局 
百分比布局也叫流式布局
效果:宽度自适应,高度固定
css
width: 100%;
height: 50px;Float 浮动布局 
- 最初为了实现文字环绕
- Float 布局会造成浮动的盒子脱标,不能撑开父级容器
Flex 布局 
Flex 布局: 弹性布局
- 浏览器提倡的布局模型
- 布局网页更简单,灵活
- 避免浮动脱标的问题
- 非常适合结构化布局
Flex 布局示例
css
.box {
  display: flex;
}
查看 web 技术浏览器兼容性:
Flex 布局组成部分
- 弹性容器: 直接父级
- 弹性盒子:直接子级
- 主轴:默认 x 轴
- 侧轴/交叉轴:默认 y 轴
flex 容器下的元素默认水平排列:默认主轴在 x 轴,弹性盒子沿着主轴排列
主轴对齐方式 justify-content 
Flex 布局模型中,可以调节主轴或侧轴的对齐方式来设置盒子之间的间距
| 属性值 | 作用 | 
|---|---|
| flex-start | 默认值,起点开始依次排列 | 
| flex-end | 终点开始依次排列 | 
| center | 沿主轴居中排列 | 
| space-around | 弹性盒子沿主轴均匀排列,空白间距均分在弹性[盒子两侧] | 
| space-between | 弹性盒子沿主轴均匀排列,空白间距均分在相邻[盒子之间] | 
| space-evenly | 弹性盒子沿主轴均匀排列,弹性盒子与容器之间[间距相等] | 
示例:
侧轴对齐方式 align-items 
容器属性 align-items 元素属性 align-self
| 属性值 | 作用 | 
|---|---|
| flex-start | 默认值,起点开始依次排列 | 
| flex-end | 重点开始依次排列 | 
| center | 沿侧轴居中排列 | 
| stretch | 默认值,弹性盒子沿着主轴线被拉伸至铺满容器 | 
示例:
伸缩比 flex 
语法
css
flex: 数值;注意:占用父级剩余尺寸的份数
示例:
移动端触发区域默认大小 44x44
主轴方向 flex-direction 
修改主轴方向,实现改变元素排列方向
主轴默认是水平方向,侧轴默认是垂直方向
| 属性值 | 作用 | 
|---|---|
| row | 默认值,行,水平 | 
| column | 列,垂直 | 
| row-reverse | 行,从右往左 | 
| column-reverse | 列,从下到上 | 
示例:
弹性盒子换行 flex-wrap 
实现多行排列效果
语法
css
felx-wrap: nowrap/wrap;| 属性值 | 作用 | 
|---|---|
| nowrap | 默认值,不换行 | 
| wrap | 换行 | 
行对齐方式 align-content 
取值和 justify-content 基本相同
示例:
Flex 溢出隐藏 
示例: