使用 gap 属性可设置CSS Grid布局的行列间距,gap 能统一设置行列间距,row-gap 和 column-gap 可分别设置行距与列距,如 gap: 20px 或 row-gap: 15px、column-gap: 30px,现代浏览器推荐直接使用无前缀属性,gap 支持双值写法 gap: 10px 20px 等价于分别设置行列间距,相比 margin 更简洁高效。
在CSS Grid布局中,设置行列间距主要通过
gap
属性来实现。它是一个简写属性,可以同时设置行与列之间的间距,也可以使用
row-gap
和
column-gap
分别设置行间距和列间距。
1. 使用 gap 设置行列间距
gap
是最常用的方式,用于统一设置网格行和列之间的间距。
示例:
上面代码中,每行之间和每列之间都会保持20px的间距。
2. 单独设置行或列间距
如果只想设置行间距或列间距,可以分别使用:
立即学习
“
前端免费学习笔记(深入)
”;
row-gap
:仅设置行与行之间的间距
column-gap
:仅设置列与列之间的间距
示例:
Comet AI 浏览器
下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。
下载
这样可以更灵活地控制布局外观。
3. gap 的兼容性与旧写法
在早期的Grid规范中,使用的是带有
浏览器
前缀的
-ms-grid-row-gap
和
-ms-grid-column-gap
(IE专用),但现在标准浏览器都支持无前缀的
row-gap
、
column-gap
和
gap
。
现代写法无需前缀,推荐直接使用:
这种写法等价于:
基本上就这些。使用
gap
系列属性能轻松控制Grid布局中的间距,避免使用margin带来的复杂计算,让网格
排列
更清晰整洁。
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 100px 100px;
gap: 20px; /* 行距和列距都为20px */
}.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
row-gap: 15px; /* 行间距15px */
column-gap: 30px; /* 列间距30px */
}gap: 10px 20px; /* 第一个值是行间距,第二个是列间距 */row-gap: 10px;
column-gap: 20px;