align-content用于多行flex容器中控制行间对齐,需设置flex-wrap换行且存在交叉轴多余空间。常用值有flex-start、center、space-between等,与align-items不同,它作用于行间距而非单行内元素对齐。

在使用 CSS Flexbox 布局时,align-content 主要用于控制多行伸缩容器中,各行之间的对齐方式。它只在容器内有多行伸缩项目(即 flex-wrap: wrap 或 wrap-reverse)且存在额外的交叉轴空间时才起作用。
flex 容器需启用换行
默认情况下,flex 项目不会换行,所有项目都排在一行。要让 align-content 生效,必须设置:
flex-wrap: wrap;或
flex-wrap: wrap-reverse;这样当子元素总宽度超过容器时,就会折成多行,此时 align-content 才能发挥作用。
立即学习“前端免费学习笔记(深入)”;
align-content 的常用取值及效果
以下是常见的属性值及其表现:
- flex-start:所有行堆在交叉轴起点,行之间无间距
- flex-end:所有行堆在交叉轴终点
- center:所有行整体居中对齐
- space-between:行与行之间等距分布,首行在起点,末行在终点
- space-around:每行周围分配相等的空间,上下间距视觉上不完全相等
- space-evenly:包括首尾行在内的所有行之间和边缘间距完全相等
- stretch(默认值):每行拉伸以填满容器的交叉轴空间
实际示例说明
假设有一个高度固定、垂直方向排列多行的 flex 容器:
.container { display: flex; flex-wrap: wrap; height: 300px; align-content: space-between; align-items: stretch; } .item { width: 100px; height: 50px; }当项目换行为两行时,space-between 会让第一行贴顶部,第二行贴底部,中间留出空白。如果设为 stretch,每行会自动增高以占满整个容器高度。
注意与 align-items 的区别
align-items 控制的是单行内项目的交叉轴对齐,而 align-content 控制的是多行之间的整体分布。如果只有一行,align-content 不生效,此时由 align-items 决定对齐方式。
基本上就这些。只要记得:多行 + 换行设置 + 交叉轴有空余空间,align-content 才能体现效果。










