grid-column用于控制网格项跨列布局,通过指定起始和结束线实现灵活排列。常用方法包括使用span关键字(如span 2)、明确行列线(如2 / 4)或全宽扩展(1 / -1)。在三列布局中,.header设置为grid-column: 1 / -1可使其横跨所有列,适用于标题或横幅设计,结合grid-template-columns和gap可构建清晰的响应式结构。

CSS 中的 grid-column 属性用于控制网格项在网格容器中跨越多少列,适合在使用 CSS Grid 布局时精确控制元素的排列方式。它可以让一个元素从某一列开始,延伸到指定的列结束,实现跨列布局。
理解 grid-column 的语法
grid-column 是一个简写属性,等价于 grid-column-start 和 grid-column-end 的组合。基本语法如下:
grid-column:- start:指定元素从哪一列开始(可以是数字、名称或 span)
- end:指定元素在哪一列结束(同样支持数字、名称或 span)
如果不写结束位置,默认只占一列。
让元素跨多列的常用方法
以下几种方式可以实现跨列效果:
立即学习“前端免费学习笔记(深入)”;
- 使用 span 关键字:比如 grid-column: span 2; 表示从当前位置开始,向右跨越 2 列。
- 指定起始和结束线:如 grid-column: 2 / 4; 表示从第 2 条网格线开始,到第 4 条网格线结束,共占 2 列。
- 从第一列开始并跨列:grid-column: 1 / 3; 让元素从第 1 列开始,跨到第 3 列前,即占据前两列。
- 跨越到最后一列:使用 grid-column: 1 / -1; 可使元素从第 1 列一直延伸到最后 1 列,适合做全宽标题或横幅。
实际例子:创建一个简单布局
假设有一个三列网格,我们希望第一个元素占满整行,其余元素各占一列:
.container {display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px;
}
.header {
grid-column: 1 / -1; /* 跨所有列 */
}
.item {
background: #eee;
padding: 20px;
text-align: center;
}
在这个例子中,.header 元素会横跨整个网格容器,而其他 .item 元素按正常顺序排列在三列中。
基本上就这些。合理使用 grid-column 能让你更灵活地控制页面结构,尤其适合卡片布局、表单排版或响应式设计中的局部调整。不复杂但容易忽略细节,比如网格线编号是从 1 开始,负数表示倒数第几条线。掌握这些小规则,布局会更得心应手。










