CSSGrid跨行跨列技巧:grid-row-span与grid-column-span详解
时间:2025-11-23 18:48:32 284浏览 收藏
想要掌握CSS Grid布局的精髓?本文将深入解析如何利用`grid-column`和`grid-row`属性实现元素的跨行跨列布局,告别不存在的`grid-row-span`和`grid-column-span`属性。通过清晰的代码示例,详细讲解如何使用网格线编号和`span`关键字,灵活控制元素在网格中的位置和跨度。无论是合并写法还是start/end属性,都能轻松实现所需的布局效果。掌握“网格线”而非“网格单元”的概念,让你彻底理解Grid布局的强大之处,打造更具创意和灵活性的网页设计。
使用grid-column和grid-row通过网格线控制跨列跨行,如grid-column:1/3表示从第1列线到第3列线跨越2列,配合span可实现从某位置跨越指定数量行列。

在CSS Grid布局中,让元素跨行或跨列并不使用 grid-row-span 或 grid-column-span 这样的属性——实际上这些属性并不存在。真正用于实现跨行跨列的是 grid-row 和 grid-column,或者更底层的 grid-row-start、grid-row-end、grid-column-start、grid-column-end。
使用 grid-column 和 grid-row 实现跨列跨行
最简洁的方式是通过 grid-column 和 grid-row 合并写法来指定元素占据的范围。
.container {
display: grid;
grid-template-columns: repeat(3, 100px);
grid-template-rows: repeat(3, 50px);
}
<p>.item {
grid-column: 1 / 3; /<em> 从第1列开始,跨越到第3列(占2列) </em>/
grid-row: 1 / 4; /<em> 从第1行开始,到第4行前(占3行) </em>/
}</p>上面代码中,1 / 3 表示“起始线为1,结束线为3”,所以该元素横跨两列。同理,1 / 4 让它竖跨三行。
使用 start 和 end 属性精确控制
如果你需要更清晰地分开定义起始和结束位置,可以使用四个独立属性:
- grid-column-start:列起始线
- grid-column-end:列结束线
- grid-row-start:行起始线
- grid-row-end:行结束线
.item {
grid-column-start: 2;
grid-column-end: 4; /* 跨两列 */
grid-row-start: 2;
grid-row-end: 3; /* 占一行高度,但从第2行开始 */
}使用 span 关键字简化跨格
想让一个元素从当前位置开始,跨越指定数量的行或列,可以用 span。
比如:.item {
grid-column: 2 / span 2; /* 从第2列开始,跨2列 */
grid-row: 1 / span 3; /* 从第1行开始,跨3行 */
}这种写法特别适合动态布局,不需要提前知道结束网格线编号。
基本上就这些。用 grid-column 和 grid-row 配合 / 和 span 就能灵活控制元素跨越行列,无需所谓的 grid-row-span 属性。关键理解“网格线”而不是“网格单元”的概念,就能轻松掌握。不复杂但容易忽略细节。基本上就这些。
理论要掌握,实操不能落!以上关于《CSSGrid跨行跨列技巧:grid-row-span与grid-column-span详解》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
293 收藏
-
440 收藏
-
201 收藏
-
215 收藏
-
480 收藏
-
214 收藏
-
486 收藏
-
303 收藏
-
322 收藏
-
449 收藏
-
212 收藏
-
492 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习