gap是现代标准,grid-gap是其旧名称,功能相同但gap支持多布局且为推荐用法,现代开发应优先使用gap。

在CSS Grid布局中,gap 和 grid-gap 都用于设置网格行与列之间的间距(即间隙),但它们属于不同阶段的语法标准,功能上几乎相同。随着浏览器支持的完善,两者可以互换使用,但存在一些历史和兼容性上的区别。
1. grid-gap 是旧语法
grid-gap 是早期 CSS Grid 规范中定义的属性,专门用于网格布局。它可以分别设置行间距(row gap)和列间距(column gap):
- grid-gap: 10px; —— 同时设置行和列的间距为10px
- grid-gap: 10px 20px; —— 行间距10px,列间距20px
它还可以拆分为两个子属性:
- grid-row-gap:设置行之间的间距
- grid-column-gap:设置列之间的间距
2. gap 是新标准通用属性
gap 是现代 CSS 中的统一属性,不仅适用于 Grid 布局,也适用于 Flexbox 和其他布局模块。它是 grid-gap 的标准化版本,功能完全一致。
立即学习“前端免费学习笔记(深入)”;
- gap: 10px; —— 在 Grid 中等同于 grid-gap
- gap: 10px 20px; —— 分别设置行和列的间距
同样支持子属性:
- row-gap(代替 grid-row-gap)
- column-gap(代替 grid-column-gap)
3. 实际使用建议
现在推荐使用 gap 而不是 grid-gap,原因如下:
- gap 是更通用的标准,未来趋势
- 语法更简洁,跨布局方式一致(如 Flexbox 中也能用)
- 现代浏览器支持良好(包括主流版本的 Chrome、Firefox、Safari、Edge)
- grid-gap 已被标记为“遗留属性”,虽然仍可用,但不推荐新项目使用
如果你需要兼容非常老的浏览器(如 IE 或旧版 Edge),可能需要保留 grid-gap,但在大多数现代开发中,直接使用 gap 即可。
基本上就这些,gap 和 grid-gap 功能一样,只是命名演进的结果。现在写 CSS Grid,优先用 gap 就对了。不复杂但容易忽略细节。










