版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82862174
Flex 是 Flexible Box 的缩写,就是弹性布局,可以为盒子模型提供更大的灵活性
任何一个容器都可以指定为 Flex 布局,其将会成为未来布局的首选方案
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
概念
- 采用 Flex 布局的元素称为 Flex 容器
- 容器下的所有子元素自动成为容器成员,成为 Flex 项目
- 将元素的
display: flex
即可指定 Flex 容器 - 容器默认存在两根轴,水平的主轴和垂直的交叉轴
属性
flex-direction 决定主轴的方向,即项目的排列方向
- row [default] 主轴在水平方向,起点在左侧
- row-reverse 主轴在水平方向,起点在右侧
- column 主轴在垂直方向,起点在顶部
- column-reverse 主轴在垂直方向,起点在底部
flex-wrap 当一条轴线上无法排列所有子项,规定换行规则
- nowrap [default] 不换行
- wrap 换行,第一行在上方
- wrap-reverse 换行,第一行在下方
flex-flow 是 flex-direction 和 flex-wrap 的简写形式
- row wrap [default]
justify-content 定义项目在容器主轴上的对齐方式
- flex-start [default] 左对齐
- flex-end 右对齐
- center 居中
- space-between 两端对齐,每个项目之间的间距相等
- space-around 每个项目两侧的间隔相等,即项目之间的间隔比项目与容器边框的间隔大一倍
align-items 定义项目在容器交叉轴上的对齐方式
- stretch [default] 如何项目未设置高度,则每个项目默认占据整个容器高度
- flex-start 顶部
- flex-end 底部
- center 居中
- baseline 项目第一行文字的基线对齐
align-content 定义多条轴线的对齐方式,若容器只有一条轴线或容器没有多余空间,则不起作用
- stretch [default] 项目占满整个交叉轴
- flex-start 与交叉轴的顶部对齐
- flex-end 与交叉轴的底部对齐
- center 与交叉轴的中部对齐
- space-between 与交叉轴的两端对齐,轴线之间的间隔平均分布
- space-around 每条轴线两端的间隔相等,即轴线之间的间隔比轴线与边框的间隔要大一倍