使用grid-column、grid-row和grid-area可实现CSS Grid子元素跨行跨列布局,分别控制列、行及行列范围,支持起止线和span语法,适用于仪表盘等复杂布局。

在 CSS Grid 布局中,让子元素跨行或跨列非常直观,主要通过 grid-column 和 grid-row 属性来控制元素的跨度。也可以使用简写属性 grid-area 来同时定义行列起止位置。
使用 grid-column 可以指定一个子元素从哪一列开始,到哪一列结束。
语法:示例:
.container {
display: grid;
grid-template-columns: 100px 100px 100px;
}
<p>.item {
grid-column: 1 / 3; /<em> 从第1条线开始,到第3条线结束,即占2列 </em>/
}
/<em> 或者 </em>/
.item {
grid-column: span 2; /<em> 占据2列,自动计算起始位置 </em>/
}</p>使用 grid-row 控制元素在行方向上的跨度。
立即学习“前端免费学习笔记(深入)”;
语法:示例:
.item {
grid-row: 2 / 4; /* 从第2行开始,到第4行前结束,占2行 */
}
/* 或者 */
.item {
grid-row: span 3; /* 纵向跨越3行 */
}
当需要同时设置行列跨度时,可以用 grid-area 简写属性。
语法:示例:
.item {
grid-area: 1 / 2 / 3 / 4;
/* 第1行开始,第2列开始,第3行结束,第4列结束 */
}
这个元素将占据从第1行到第3行(跨2行),第2列到第4列(跨2列)的区域。
常见于仪表盘或卡片布局:
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 100px 100px 100px;
gap: 10px;
}
<p>.header { grid-column: span 3; } /<em> 横跨3列 </em>/
.sidebar { grid-row: span 2; } /<em> 纵跨2行 </em>/
.main { grid-area: 2 / 2 / 4 / 4; } /<em> 多维跨越 </em>/</p>基本上就这些方法。掌握 grid-column、grid-row 和 grid-area 的使用,就能灵活实现各种跨行跨列布局,不复杂但容易忽略细节。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号