css Grid布局如何定义列与行_掌握基本的网格创建技巧

落伟小哥_3366

落伟小哥_3366

2026-02-10

613人浏览

原创

grid-template-columns 和 grid-template-rows 必须写在 display: grid 的容器上,值为轨道尺寸(如 100px、1fr、auto、minmax()),支持 repeat();混用 fr 与 % 时需注意 fr 基于剩余空间计算,线编号从容器边缘起始,负值和 span 可简化定位。

css grid布局如何定义列与行_掌握基本的网格创建技巧

grid-template-columns 和 grid-template-rows 怎么写才生效

这两个属性是定义网格骨架的核心,必须写在容器(即设置 display: grid 的父元素)上,子元素不会继承也不会触发它们。值不是“列宽”或“行高”的绝对数值,而是轨道(track)的尺寸描述,支持 pxfrautominmax() 等多种单位组合。

常见错误是把它们当成子项的样式写在 item 上,或者漏掉容器的 display: grid —— 这时整个声明完全被忽略,页面表现和普通流一样。

  • grid-template-columns: 100px 1fr 2fr 表示三列:第一列固定 100px,后两列按 1:2 占满剩余空间
  • grid-template-rows: auto 100px 表示两行:第一行高度由内容撑开,第二行固定 100px
  • repeat(3, 1fr) 比写 1fr 1fr 1fr 更简洁,也支持 repeat(auto-fit, minmax(200px, 1fr))) 实现响应式列数自动调整

为什么设置了 grid-template-rows 却看不到多行效果

Grid 默认只创建一行(隐式行),即使你写了 grid-template-rows: 50px 50px,但所有子项仍默认放在第一行里——除非显式指定位置,或子项数量超过单行容量。

真正触发多行显示的方式有三种:

  • 给子项加 grid-row-start / grid-row-end,比如 grid-row: 2 / 3 让它进第二行
  • 使用 grid-auto-flow: row(默认值)并让子项自然换行:当第一行放不下更多项时,Grid 会自动创建新行(但前提是没设 grid-template-rows 固定行数,否则超出部分进入隐式网格)
  • 配合 grid-auto-rows 控制隐式行高度,例如 grid-auto-rows: 60px,这样新增的行才有可见高度

fr 单位和百分比在 grid-template-columns 里混用要注意什么

fr 是“剩余空间分配单位”,不是百分比;它只对容器内未被固定尺寸占用的剩余空间起作用。一旦混用 %px,计算逻辑就容易出错。

CSS婚礼策划服务机构宣传网站模板
CSS婚礼策划服务机构宣传网站模板

CSS婚礼策划服务机构宣传网站模板是一款适合提供婚礼策划和婚庆服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载

比如 grid-template-columns: 20% 1fr 2fr 中,20% 先从容器宽度中扣掉 20%,剩下 80% 才交给 1fr2fr 分(即 80% × 1/3 ≈ 26.7%,80% × 2/3 ≈ 53.3%)。这不是“20% + 33% + 66%”,总和会超 100%。

  • 想严格按比例布局,统一用 fr2fr 1fr 1fr 表示 50% : 25% : 25%
  • 想留白+自适应,用 minmax() 更可靠:minmax(200px, 1fr) 1fr
  • 避免在同一个 grid-template-columns 值里混用 fr%,除非你明确知道剩余空间如何计算

grid-column 和 grid-row 的起止值怎么数

Grid 线(line)编号从容器边缘开始:最左边是第 1 条线,向右依次为 2、3……;最上面是第 1 条线,向下为 2、3……。所以 grid-column: 1 / 3 表示从第 1 条线开始,到第 3 条线结束,跨两列(即第 1 列和第 2 列)。

容易混淆的是负值和 span 语法:

  • grid-row: -2 / -1 是倒数第二条线到倒数第一条线,即最后一行
  • grid-column: span 2 等价于 auto / span 2,表示从当前位置向右跨 2 列,不指定起点时由 Grid 自动放置
  • 起点可以省略(写成 / 2),但终点不能单独写成 2 —— 那会被解析为 2 / 3,即只占一格

线编号是理解 Grid 定位的基础,画个草图标上线号,比死记规则快得多。实际项目中,用 grid-area 配合命名区域往往更直观,但线编号逻辑逃不开。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

css grid布局

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

180

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

60

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

80

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

60

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

40

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

380

28

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

2026.09.11

120

22

热门下载

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

精品课程

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

共14课时 | 1.4万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 5.5万人学习

CSS教程
CSS教程

共754课时 | 92.9万人学习