flex 布局
Flex 布局
好多年前写的笔记移动到博客上
Flex 布局
概念
- flexible: box 弹性盒状布局
- 容器控制内部元素的布局定位
- css 引入的新布局模型
- 伸缩元素,自由填充,自适应
优势
- 可在不同方向排列元素
- 控制元素排序方向
- 控制元素的对齐方式
- 控制元素之间的等距
- 控制单个元素放大与缩放比例,占比,对齐方式
模型
- 容器内部放项目
- 主轴 从左向右 从上向下
- 交叉轴
flex容器的属性和布局
- flex container: flex 容器
- flex item :flex 项目 元素
- flex direction 设置元素排列方向
- row 主轴 从左向右
- row-reverse 主轴 从右向左 元素也会反向排列
- column 主轴 从上向下
- column-reverse 主轴 从下向上
- flex-wrap 使容器内的元素换行
- nowrap 不换行
- wrap 换行
- wrap-reverse 反向换行
- justify-content 设置元素在主轴上的对齐方式
- flex-start 左对齐 或者向上
- flex-end 右对齐 或者向下
- center 居中
- space-between 两端对齐其余各元素之间等距切分剩余空隙
- space-around 每个元素左右均分剩余空间
### 交叉轴
- align-items 设置元素在交叉轴上的对齐方式
- flex-start 在交叉轴上起点位置 向上对齐 || 向左
- flex-end 在交叉轴上结束位置 右对齐 或者向下
- center 居中
- baseline 保证元素中的文字在同一条线上
- stretch 不设置高度项目拉伸
- align-content 设置轴线的对齐方式 (轴线当做元素)
- 只有一行(条) 这个效果无效
- 当轴线超过一条的时候 把多条轴线 视为元素对待
- flex-start 向左或许向上对齐
- flex-end 向右或者向下对齐
- center 进行居中对齐
- stretch 交叉轴拉伸 不设置宽度生效
- space-between 两端对齐 其余元素等分空余
- space-around 元素均分剩余空间
flex容器内项目元素的属性
- order: 控制元素顺序 默认是 0
- 数组越小越靠前
- flex-grow: 控制元素的放大比例 默认是 0
- 根据设置的数据分割剩余空间
- flex-shrink 控制元素缩小比例当空间不足时 默认是 1
- 设置为 0 就不压缩
- flex-basis 设置元素固定或者自动空间的占比
- 设置固定宽度
- align-self 重写 align-items 父属性
- flex-start 在交叉轴上起点位置 向上对齐 || 向左
- flex-end 在交叉轴上结束位置 右对齐 或者向下
- center 居中
- baseline 保证元素中的文字在同一条线上
- stretch 不设置高度项目拉伸
- 默认auto 继承父级元素的 align-items
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 江宇晨的博客站!