css grid布局中的grid-template-columns与grid-template-rows_设置行列尺寸
发布时间 - 2026-01-08 00:00:00 点击率:次grid-template-columns 和 grid-template-rows 是 CSS Grid 布局的骨架,定义容器列宽与行高;值用空格分隔,支持 fr、auto、minmax()、repeat() 等;需注意隐式轨道和 grid-template-areas 的行列数匹配。
grid-template-columns 和 grid-template-rows 是什么
这两个属性是 CSS Grid 布局的骨架,直接定义容器在水平(列)和垂直(行)方向上划分多少轨道、每条轨道多宽/高。它们不控制子元素位置,只搭出网格框架;子元素用 grid-column / grid-row 或 grid-area 往里塞。
常用值写法与实际效果差异
值是空格分隔的一组轨道尺寸,顺序对应从左到右(列)或从上到下(行)。关键在于理解单位行为:
-
1fr表示“剩余空间均分”,不是固定像素;2fr 1fr表示第一列占剩余空间的 2/3,第二列占 1/3 -
auto让轨道收缩包裹内容,但受minmax()或父容器约束时可能撑开 -
minmax(200px, 1fr)是最实用的组合:最小 200px,最大可伸展到 1 份剩余空间 -
repeat(3, 1fr)等价于1fr 1fr 1fr,适合等分布局;repeat(auto-fit, minmax(200px, 1fr)))配合grid-gap实现响应式卡片流
容易被忽略的隐式轨道问题
显式声明的行列(通过 grid-template-col /
umnsgrid-template-rows)只创建“显式网格”。当子项超出范围(比如第 5 个子项放在第 6 列),浏览器会自动创建隐式轨道——这些轨道默认大小为 auto,常导致高度塌陷或宽度失控。
解决方法是显式设置隐式轨道行为:
grid-auto-columns: 1fr; grid-auto-rows: minmax(100px, auto);
尤其注意:grid-auto-rows 不会影响显式声明的行高,只管那些“冒出来”的额外行。
和 grid-template-areas 的配合陷阱
如果同时用了 grid-template-areas,那么 grid-template-columns 和 grid-template-rows 必须与它行列数严格匹配。例如:
grid-template-areas: "header header" "main sidebar"; grid-template-columns: 1fr; /* ❌ 错!需要两个列轨道 */ grid-template-columns: 1fr 200px; /* ✅ 对应两列 */
少写一列,整个 grid-template-areas 失效,退化为无名网格;多写一列则末尾轨道闲置,但布局仍按区域字符串执行。
真正难调试的是:错误不会报错,只是视觉错乱,得靠浏览器开发者工具的网格叠加层去核对行列数是否对齐。
# css
# 浏览器
# 工具
# ai
# 解决方法
# grid布局
# auto
# 字符串
# column
# 隐式
# 的是
# 放在
# 这两个
# 用了
# 报错
# 大可
# 每条
# 关键在于
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何基于云服务器快速搭建网站及云盘系统?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
linux top下的 minerd 木马清除方法
如何快速搭建自助建站会员专属系统?
如何撰写建站申请书?关键要点有哪些?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
html如何与html链接_实现多个HTML页面互相链接【互相】
使用C语言编写圣诞表白程序
北京专业网站制作设计师招聘,北京白云观官方网站?
Python面向对象测试方法_mock解析【教程】
如何在宝塔面板创建新站点?
Bootstrap CSS布局之列表
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
Linux系统运维自动化项目教程_Ansible批量管理实战
如何用景安虚拟主机手机版绑定域名建站?
黑客入侵网站服务器的常见手法有哪些?
如何在Windows虚拟主机上快速搭建网站?
Python函数文档自动校验_规范解析【教程】
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel如何优化应用性能?(缓存和优化命令)
如何在IIS中配置站点IP、端口及主机头?
linux写shell需要注意的问题(必看)
Firefox Developer Edition开发者版本入口
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
如何用搬瓦工VPS快速搭建个人网站?
如何在云服务器上快速搭建个人网站?
如何在阿里云服务器自主搭建网站?
如何确认建站备案号应放置的具体位置?
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
做企业网站制作流程,企业网站制作基本流程有哪些?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
原生JS获取元素集合的子元素宽度实例
浅析上传头像示例及其注意事项
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
中山网站推广排名,中山信息港登录入口?
Laravel怎么实现模型属性的自动加密
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
微信小程序 配置文件详细介绍
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Laravel怎么上传文件_Laravel图片上传及存储配置
JS中对数组元素进行增删改移的方法总结
Laravel如何处理和验证JSON类型的数据库字段
Laravel如何实现文件上传和存储?(本地与S3配置)
下一篇:centos默认用户名密码是什么
下一篇:centos默认用户名密码是什么

