Flexbox 是什么?
Flexbox 是 CSS3 新增的布局模式,简化了复杂的布局设计。
基本概念
- 容器 (Container):设置
display: flex的元素 - 项目 (Item):容器内的直接子元素
- 主轴 (Main Axis):默认水平
- 交叉轴 (Cross Axis):垂直于主轴
容器属性
flex-direction
设置主轴方向。
1 | .container { |
justify-content
主轴对齐。
1 | .container { |
align-items
交叉轴对齐。
1 | .container { |
flex-wrap
换行。
1 | .container { |
align-content
多行交叉轴对齐。
1 | .container { |
项目属性
flex-grow
放大比例。
1 | .item { |
flex-shrink
缩小比例。
1 | .item { |
flex-basis
主轴空间分配前的大小。
1 | .item { |
flex
grow、shrink、basis 的简写。
1 | .item { |
align-self
单个项目交叉轴对齐。
1 | .item { |
实际例子
1 | <div class="container"> |
1 | .container { |
浏览器支持
现代浏览器都支持,IE10+ 需要 -ms- 前缀。
总结
Flexbox 让布局变得简单直观。多练习几个例子,你就能掌握它了。