主轴由flex-direction决定,justify-content控制主轴对齐,align-items控制垂直于主轴的交叉轴对齐,二者结合可实现元素精准定位。

Flexbox 布局中,主轴(main axis)和交叉轴(cross axis)是两个核心概念,理解它们的对齐方式区别,能帮助你更精准地控制元素排列。
主轴对齐:justify-content
主轴的方向由 flex-direction 决定,默认是横向从左到右。主轴对齐控制的是子元素在主轴方向上的分布方式。
- 当 flex-direction: row 时,主轴是水平方向
- 当 flex-direction: column 时,主轴是垂直方向
- 使用 justify-content 调整子元素之间的间距和对齐位置
常见值包括:flex-start、flex-end、center、space-between、space-around
交叉轴对齐:align-items
交叉轴始终与主轴垂直。如果主轴是水平方向,交叉轴就是垂直方向,反之亦然。交叉轴对齐控制子元素在交叉轴上的对齐方式。
立即学习“前端免费学习笔记(深入)”;
- 使用 align-items 设置所有子元素在交叉轴上的对齐
- 使用 align-self 单独调整某个子元素
- 常见值有:flex-start、flex-end、center、stretch、baseline
例如主轴为 row 时,align-items: center 会让元素在垂直方向居中
实际例子对比
假设容器设置了:
display: flex;
flex-direction: row;
height: 200px;
- justify-content: center → 子元素水平居中
- align-items: center → 子元素垂直居中
两者结合就能实现完全居中。若改为 flex-direction: column,主轴变垂直,justify-content 就控制垂直方向,而 align-items 控制水平方向。
基本上就这些,关键是记住主轴方向可变,交叉轴自动垂直于它,对齐属性跟着轴走。不复杂但容易忽略方向变化带来的影响。










