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

Grid网格布局如何实现三行布局_使用grid-template-rows精确划分行高

P粉602998670
发布: 2025-12-15 09:57:07
原创
735人浏览过
grid-template-rows实现三行布局需明确高度单位:px用于固定高度(如60px 400px 80px),fr分配剩余空间(如60px 1fr 80px),minmax()兼顾弹性与最小高度(如minmax(200px,1fr)),auto适配内容,再结合媒体查询实现响应式。

grid网格布局如何实现三行布局_使用grid-template-rows精确划分行高

grid-template-rows 实现三行布局,核心是明确指定三行的高度比例或具体值,让容器子元素自动按顺序填入对应行轨道。

基础三行结构:固定像素高度

适合头部、主体、底部高度确定的场景,比如顶部导航栏 60px、内容区 400px、底部 80px:

示例代码:

container {
  display: grid;
  grid-template-rows: 60px 400px 80px;
}

此时三个直接子元素会依次占据这三行,无需额外设置 grid-row

弹性三行布局:使用 fr 单位分配剩余空间

更常用,尤其适配不同屏幕。例如“头部固定、主体自适应、底部固定”:

grid-template-rows: 60px 1fr 80px;

其中 1fr 表示占用所有剩余可用高度,不受内容撑开影响,也不会溢出。

如果希望主体占两份、其他各一份,可写:60px 2fr 80px

UXbot
UXbot

AI产品设计工具

UXbot 185
查看详情 UXbot

混合单位:兼顾内容与弹性

当某一行内容高度不确定(如文章标题+简介),又想避免留白或溢出,可用 minmax()

grid-template-rows: 60px minmax(200px, 1fr) 80px;

含义:中间行至少高 200px,有空间时可伸展至占满剩余高度。

也可用 auto 让某行“刚好包裹内容”,但需注意:若内容过多可能撑大整页,建议配合 overflow: auto 或限制最大高度。

响应式三行:结合媒体查询动态调整

小屏下可把三行改为单列堆叠,或合并部分区域:

  • 默认(桌面):grid-template-rows: 70px 1fr 90px;
  • @media (max-width: 768px) {
      grid-template-rows: auto 1fr auto;
    }

这样在移动端让头尾根据内容自适应,中间仍保持弹性占位。

基本上就这些。关键是理解 grid-template-rows 定义的是“行轨道”而非元素本身,只要子元素顺序正确,Grid 会自动按序分配。不复杂但容易忽略单位语义——px 是刚性,fr 是弹性,auto 是内容驱动,混用才能灵活控高。

以上就是Grid网格布局如何实现三行布局_使用grid-template-rows精确划分行高的详细内容,更多请关注php中文网其它相关文章!

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

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

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

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