首页 > web前端 > css教程 > 正文

css Grid子元素跨多列多行布局

P粉602998670
发布: 2025-10-31 01:10:28
原创
598人浏览过
通过grid-column和grid-row属性可实现CSS Grid子元素跨行跨列布局,支持指定起始结束线或使用span定义跨越数量,如grid-column: 1 / span 2使元素从第1列开始跨越2列,结合网格线编号(从1开始)灵活控制二维布局。

css grid子元素跨多列多行布局

CSS Grid 布局中的子元素可以轻松实现跨多列或多行的效果,这主要通过 grid-columngrid-row 属性来控制。你可以指定元素从哪一列或行开始,到哪一列或行结束,从而实现灵活的二维布局。

1. 使用 grid-column 和 grid-row 跨列跨行

要让一个子元素跨越多列或多行,可以使用以下属性:

  • grid-column: start / end; — 控制列的起始和结束线
  • grid-row: start / end; — 控制行的起始和结束线

例如,让一个元素从第1列开始,跨越到第3列(即占两列),并从第1行到第3行(占两行):

.item {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}
登录后复制

2. 使用 span 简化写法

如果你不想计算结束线,可以用 span 来指定跨越的网格数量。

立即学习前端免费学习笔记(深入)”;

.item {
  grid-column: 1 / span 2;  /* 从第1列开始,跨越2列 */
  grid-row: 1 / span 2;     /* 从第1行开始,跨越2行 */
}
登录后复制

也可以简写为:

喵记多
喵记多

喵记多 - 自带助理的 AI 笔记

喵记多27
查看详情 喵记多
.item {
  grid-column: span 2;
  grid-row: span 2;
}
登录后复制

此时会自动从当前可用的起始位置开始占位。

3. 实际布局示例

假设我们要创建一个 3×3 的网格,其中一个标题区域横跨顶部两列,一个侧边栏纵向占两行:

.container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 10px;
}
<p>.header {
grid-column: 1 / 3;
background: #4CAF50;
}</p><p>.sidebar {
grid-row: 1 / 3;
background: #2196F3;
}</p>
登录后复制

这样,.header 占据前两列第一行,.sidebar 从第一行延伸到第三行,其余元素会自动填充剩余空间。

基本上就这些。只要理解了网格线编号和 span 的用法,跨行跨列布局就很直观。不复杂但容易忽略的是线号从1开始计数,而不是0。

以上就是css Grid子元素跨多列多行布局的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号