← 📐 CSS Box Alignment · 一套对齐属性,横跨所有布局 / 在 Flexbox 中:justify- 跟着主轴翻转,且没有 justify-self 待审核 4 / 6
in flexbox · 主轴 / 交叉轴

在 Flexbox 中:justify- 跟着主轴翻转,且没有 justify-self

Flex 是 Box Alignment 的例外模式:别的模式里 justify-* 恒等于行内轴、align-* 恒等于块轴;Flex 改用主轴 / 交叉轴——justify-content 永远管主轴align-* 永远管交叉轴,而主 / 交叉轴本身随 flex-direction 翻转。再加一条:Flex 没有 justify-self / justify-items(主轴上无单格概念),要把单项沿主轴推开得用 margin: auto。本页只讲这套映射规则;对齐与溢出的边界情形见 flex 系列深入页。

与统一模型的两点差异:

其一,轴绑定不同:统一模型 justify=行内 / align=块;Flex justify=主轴 / align=交叉轴,随 flex-direction 翻。

其二,缺两个属性:justify-self / justify-items 在 Flex 被忽略(它们是 Grid 的);单项主轴对齐用 margin: auto 代替。

1 · 切 flex-direction,看主 / 交叉轴互换

容器定宽定高,主轴、交叉轴都有剩余空间。item 高度不一,便于看交叉轴对齐。焦点项 A 演示 margin-inline-start: auto(主轴上把它及其后项推到末端)与 align-self

2 · Flex 下各对齐属性的映射

flex-start / flex-end 在此跟随 flex-direction;与 start / end 的区别见参照系一页
属性 作用轴 对象 说明
justify-content 主轴 容器→整组 分配主轴剩余空间。单行多行都作用。
align-items / align-self 交叉轴 容器 / 单项 每个项在所在行交叉轴对齐;align-self 覆盖单项。
align-content 交叉轴 容器→行间 仅多行flex-wrap: wrap 且换行)分配行间空间;单行无效。
justify-items / justify-self 被忽略。单项主轴对齐用 margin: auto 代替。
gap 两轴 项之间 项间固定间距,先扣除再让 grow/shrink 分配剩余。

想深入 Flex 的对齐边界? 本系列的姊妹 Flex 系列已有专题:对齐属性全景居中即截断center + overflow 的冲突)、safe / unsafe(给对齐加「别切到内容」)。本页只负责把统一模型映射到 Flex,不重复那些边界细节。