align-items用于设置网格项在垂直方向的对齐方式,可取start、end、center、stretch等值,默认为stretch,作用于容器内所有子元素,可通过align-self单独调整某个项目,常用于卡片、表单等布局的垂直居中或对齐控制。

CSS Grid 中的 align-items 属性用于控制网格容器中所有子元素(网格项)在**行轴(block axis,即垂直方向)**上的对齐方式。通过设置该属性,你可以让所有子元素在各自的网格区域内统一垂直对齐。
align-items 可用值及效果
以下为 align-items 支持的主要取值及其作用:
- start:子元素与网格区域的起始边缘对齐(在从上到下的书写模式下,等同于顶部对齐)。
- end:子元素与网格区域的结束边缘对齐(在从上到下的书写模式下,等同于底部对齐)。
- center:子元素在网格区域内垂直居中对齐。
- stretch:默认值。子元素拉伸以填满整个网格区域(排除 margin 和边框的影响)。
基本使用方法
将 align-items 应用于网格容器即可影响所有子元素:
.container { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 100px 100px; align-items: center; /* 所有子元素垂直居中 */ } .item { background: lightblue; }
此时每个 .item 都会在其所在的网格单元格内垂直居中。
立即学习“前端免费学习笔记(深入)”;
单独调整某个子元素
若只想调整某一个子元素的对齐方式,可以使用 align-self 覆盖 align-items 的设置:
.special-item { align-self: start; /* 这个元素顶部对齐,其他仍遵循 align-items */ }
这在需要局部微调时非常实用,比如大部分内容居中,但某个按钮靠上显示。
实际应用场景示例
常见用途包括卡片布局、表单对齐、导航菜单等。例如在一个两列布局中,希望文字和图片在垂直方向保持对齐:
.card { display: grid; grid-template-columns: 1fr 2fr; align-items: center; /* 图片和文字都垂直居中 */ gap: 16px; }
这样即使图片高度不同或文本行数变化,整体视觉依然整齐。
基本上就这些。掌握 align-items 能让你更轻松地控制 Grid 布局中的垂直对齐,配合 justify-items 可实现完整的二维对齐控制。不复杂但容易忽略细节。


