CSS Grid 通过 grid-template-columns 定义列结构,支持等宽或混合单位布局,结合 gap 控制间距,利用 auto-fit 与 minmax 实现响应式适配,无需媒体查询即可自动换行,再通过 align-items、justify-items 和 grid-auto-rows 等属性统一对齐与内容分布,显著提升多列文章布局的灵活性与视觉一致性。

CSS Grid 是现代网页布局的强大工具,特别适合处理多列文章布局。它让开发者能以简洁、直观的方式创建灵活且响应式的版面结构,尤其适用于博客、新闻站或内容密集型网站的多栏排版需求。
使用 grid-template-columns 定义列结构
在多列文章布局中,最关键的一步是定义列的数量和宽度。通过 grid-template-columns 属性,可以轻松划分网格列。
例如,创建一个三列等宽布局:code example:
.article-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px;
}
也可以混合使用不同单位,比如侧边栏固定宽度,主内容区域自适应:
立即学习“前端免费学习笔记(深入)”;
- 150px 1fr 200px —— 左侧小工具栏固定,中间主内容自适应,右侧边栏固定
- minmax(200px, 1fr) 2fr —— 确保某一列最小宽度,同时保持弹性
利用 grid-gap 控制间距
多列之间需要合适的留白来提升可读性。gap(即 grid-gap 的简写)属性用于设置列与行之间的间距。
- 设置统一间距:gap: 16px;
- 分别控制行列:row-gap: 20px; column-gap: 12px;
合理使用 gap 可避免额外的 margin 调整,使布局更整洁易维护。
响应式多列适配
在移动端或小屏幕设备上,通常需要将多列堆叠为单列。借助媒体查询和 auto-fit / minmax,Grid 能实现自动适应。
常用技巧:
- 使用 repeat(auto-fit, minmax(250px, 1fr)) 让列数根据容器自动调整
- 当屏幕变窄时,每列最小宽度为 250px,超出则换行堆叠
- 无需为每个断点写 media query,布局更具弹性
.responsive-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
}
对齐与内容分布控制
Grid 还提供强大的对齐能力。对于文章卡片类布局,常需统一高度或垂直对齐标题、摘要。
- 使用 align-items: start 防止子元素拉伸,保持自然高度
- 用 justify-items: center 水平居中内容(如标题)
- 结合 grid-auto-rows 设置最小行高,防止卡片高低错落太明显
这些细节能显著提升整体视觉一致性。
基本上就这些。CSS Grid 在多列文章布局中既灵活又高效,掌握核心属性后,大部分排版问题都能优雅解决。










