align-content 多行交叉轴对齐属性

最后更新:2026-09-13

align-content align-content 多行交叉轴对齐属性

align-content 属性用于设置弹性容器内多行项目在交叉轴上的对齐方式和间距分配,仅在项目换行(flex-wrap: wrap)产生多行时生效。它类似于 justify-content,但作用在交叉轴上且针对行与行之间的空间。单行情况下该属性不产生效果,此时应使用 align-items。

分类
初始值normal
继承
适用于
可动画
CSS 版本CSS3
状态标准

📝 语法

align-content: normal | stretch | start | end | flex-start | flex-end | center | space-between | space-around | space-evenly | baseline;

⚙️ 取值

类型描述
normal | stretch | flex-start | flex-end | center | space-between | space-around关键字多行交叉轴对齐

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
align-content v29 v12 v28 v9 v17
所有主流浏览器均支持
注意: align-content 仅在多行弹性布局中生效。如果项目没有换行(单行),该属性不会产生任何效果,此时应使用 align-items 控制交叉轴对齐。
提示: align-content 和 align-items 可以同时使用:align-content 控制行与行之间的对齐,align-items 控制每行内项目在交叉轴上的对齐。

❓ 常见问题

Qalign-content 和 align-items 有什么区别?
Aalign-items 控制单行内各子项在交叉轴上的对齐;align-content 控制多行作为一个整体在交叉轴上的分布。单行时 align-content 无效,多行时 align-items 管每行内部、align-content 管行与行之间的空间分配。两者可同时设置,分别作用于不同层面。
Q为什么设置了 align-content 但没有效果?
A可能原因:子项没有换行(单行布局)、容器没有明确高度、flex-wrap 仍为 nowrap。align-content 只在 flex-wrap: wrap 产生多行、且容器在交叉轴方向有剩余空间时才生效。检查 flex-wrap 与容器高度即可定位。
Q如何让换行后的多行 flex 子项整体垂直居中?
A分两层处理:容器上设置 align-content: center 让多行整体在交叉轴(垂直方向)居中分布;若同一行内子项高度不齐,再配合 align-items: center 让行内子项垂直居中。前提是容器有确定高度且 flex-wrap: wrap 产生多行,否则 align-content 不会生效。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏