0

0

css grid布局中行和列是如何定义的_利用gridtemplaterows和columns说明

P粉602998670

P粉602998670

发布时间:2026-02-03 09:45:31

|

649人浏览过

|

来源于php中文网

原创

grid-template-rows和grid-template-columns是定义显式网格的必需属性,必须写在容器上,值为轨道尺寸序列;fr单位按剩余空间分配,非百分比;repeat()配合auto-fit和minmax()可实现响应式列布局;隐式网格需用grid-auto-rows等控制溢出项高度。

css grid布局中行和列是如何定义的_利用gridtemplaterows和columns说明

grid-template-rows 和 grid-template-columns 是定义显式网格的唯一直接方式

它们不是“可选配置”,而是你画出网格骨架的必需笔触。只要没写这两个属性,display: grid 只创建了一个空容器——没有行、没有列、没有轨道,后续的 grid-columngrid-row 会默认落到隐式网格里,行为难以预测。

  • 二者必须写在**容器元素**上,子项无法通过自身样式定义行列结构
  • 值是一组用空格分隔的轨道尺寸(track size),顺序即从左到右(列)、从上到下(行)
  • 不支持简写合并成一个属性;grid-template 虽能整合,但语法更复杂且可读性差,不推荐新手用
  • 若只定义了 grid-template-columns 而没写 grid-template-rows,所有子项将堆叠在第一行——这不是 bug,是规范行为

fr 单位不是“百分比”,它是剩余空间的弹性切片

很多人误以为 1fr33.33%,其实它只在所有轨道都用 fr 时才等效。一旦混入 px%auto,计算逻辑立刻变化。

  • grid-template-columns: 200px 1fr 2fr:先扣掉 200px 固定宽度,剩下空间按 1:2 切成两份,不是按总宽三等分
  • grid-template-columns: 1fr 1fr auto:前两列平分“减去 auto 列内容宽度后的剩余空间”,auto 列由自身内容撑开,可能挤压其他列
  • 避免在同一个轨道列表里混用 %fr——% 相对于容器宽,fr 相对于剩余空间,两者基准不同,结果难推演

repeat() 不只是缩写,它是响应式布局的关键杠杆

repeat(4, 1fr) 看似只是 1fr 1fr 1fr 1fr 的简写,但它真正价值在于配合 auto-fitminmax() 实现自动列数调整。

  • grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))):每列至少 250px,容器够宽就多放一列,不够就自动换行——无需媒体查询
  • repeat(3, 100px)100px 100px 100px 渲染完全一致,但前者更易维护,尤其当列数达 6+ 时
  • 别对 grid-template-rows 盲目套用 repeat(auto-fit...):行高通常依赖内容,auto-fit 在行方向效果有限,更适合列布局

显式网格之外还有隐式网格,漏设 grid-auto-rows 会导致高度失控

当你有 10 个子项,但只定义了 grid-template-rows: 60px 80px(仅两行),浏览器会自动生成第 3、4… 行来容纳剩余项目——这些就是隐式行,其高度默认为 auto,也就是由内容撑开。

Noiz AI
Noiz AI

AI语音合成、声音克隆

下载

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

  • 后果:卡片高度不一致、底部留白突兀、滚动体验割裂
  • 修复:加一句 grid-auto-rows: minmax(120px, auto),保证所有隐式行最小 120px,内容多时仍可伸展
  • 注意:grid-auto-rows 不影响显式定义的行,只管“多出来的那些行”
  • 同理,grid-auto-columns 用于控制超出显式列数时的列宽,但实际中列溢出较少见
.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)));
  grid-template-rows: 72px; /* 头部固定高 */
  grid-auto-rows: minmax(140px, auto); /* 其余行统一基线 */
  gap: 16px;
}

显式网格定义的是你“计划中的结构”,而隐式网格处理的是“现实中的意外”。跳过 grid-auto-rows 就像只设计楼层不考虑承重,表面能用,一加内容就露馅。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

399

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

578

2023.08.10

go语言 数组和切片
go语言 数组和切片

本专题整合了go语言数组和切片的区别与含义,阅读专题下面的文章了解更多详细内容。

46

2025.09.03

Python 序列化
Python 序列化

本专题整合了python序列化、反序列化相关内容,阅读专题下面的文章了解更多详细内容。

12

2026.02.02

AO3官网入口与中文阅读设置 AO3网页版使用与访问
AO3官网入口与中文阅读设置 AO3网页版使用与访问

本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

200

2026.02.02

主流快递单号查询入口 实时物流进度一站式追踪专题
主流快递单号查询入口 实时物流进度一站式追踪专题

本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

98

2026.02.02

Golang WebAssembly(WASM)开发入门
Golang WebAssembly(WASM)开发入门

本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

15

2026.02.02

PHP Swoole 高性能服务开发
PHP Swoole 高性能服务开发

本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

16

2026.02.02

Java JNI 与本地代码交互实战
Java JNI 与本地代码交互实战

本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

9

2026.02.02

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.2万人学习

CSS教程
CSS教程

共754课时 | 26.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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