讲师中心 微信公众号
AI工具推荐 视频效率加速

CSS嵌套网格布局_在Grid项目内部再次开启Grid模式

浅涛姑娘_5788

浅涛姑娘_5788

发布时间:2026-02-27 12:14:54

|

191人浏览过

|

来源于php中文网

原创

嵌套Grid必须显式声明display: grid,子元素不会继承父级网格能力;grid-area和grid-template-areas作用域仅限直接父容器;fr单位基于当前容器尺寸计算;IE11不支持嵌套Grid且无降级方案。

css嵌套网格布局_在grid项目内部再次开启grid模式

Grid容器里再套Grid,必须显式声明 display: grid

很多人以为父容器设了 grid,子元素自动继承网格能力——不是的。子元素默认仍是普通块级元素,哪怕它在父Grid里是某个 grid-item。想让它自己也变成网格容器,得单独给它加 display: grid 或 display: inline-grid。

常见错误现象:grid-template-columns 在子元素上写了但完全不生效;开发者反复检查父级定义,却漏掉子元素本身没开启Grid模式。

  • 子元素要成为网格容器,和它在父布局中是第几个 grid-item 无关
  • 如果子元素是 flex 或 block,它的内部样式(比如 grid-column)会被忽略
  • 嵌套后注意 grid-area 的作用域:它只在直接父Grid中有效,不会穿透到祖父级

嵌套Grid的 grid-template-areas 不能跨层级复用

grid-template-areas 是局部声明,每个Grid容器都维护自己的命名区域空间。父级定义的 "header main sidebar" 和子级定义的同名区域完全独立,互不影响。

使用场景:你在一个卡片组件(子Grid)里想复用和外层一样的区域名,比如都叫 content ——可以,但必须在子容器里重新写一遍 grid-template-areas,不能靠继承或引用。

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

CSS工具箱(专业版)
CSS工具箱(专业版)

全功能 CSS 工程手册,覆盖性能优化、无障碍、设计系统与跨浏览器兼容。

下载
  • 父级的 grid-area: content 对子Grid内部的子元素无效
  • 子Grid中若使用 grid-area,匹配的是它自己定义的 grid-template-areas 字符串
  • 命名冲突不报错,但会导致区域无法定位——这是调试时最常卡住的地方

嵌套Grid的 fr 单位计算基于当前容器尺寸,不是父Grid的轨道大小

fr 是“剩余可用空间”的份额单位,它永远相对于**直接父容器的内联尺寸**(即 padding-box 宽度/高度),而不是祖父容器、也不是父Grid某条轨道的尺寸。这点和 % 不同,% 才可能参考父级宽高,而 fr 只认当前容器内容区大小。

性能影响:嵌套越深,每层都要重新计算一次可用空间,尤其当有 minmax() 或 fit-content() 参与时,浏览器布局开销会上升。

  • 子Grid的 grid-template-columns: 1fr 2fr,分的是子容器自身的宽度,不是它所在父Grid轨道的宽度
  • 如果父Grid轨道设了 minmax(300px, 1fr),子Grid仍按自己实际渲染宽度来分 fr
  • 想让子Grid列宽严格对齐父级轨道?别依赖 fr,改用 px、rem 或 clamp() 配合 width 控制

IE11不支持嵌套Grid,且无降级方案

IE11 支持基础Grid(需 -ms- 前缀),但遇到子元素也设 display: -ms-grid 时,会直接忽略该声明,子元素退化为普通块级布局,且不触发任何警告或错误。

兼容性影响:这不是样式失效的问题,而是整个嵌套结构逻辑断裂。如果你的业务还要求支持IE11,嵌套Grid必须整体规避,不能靠条件注释或特性检测局部启用。

  • Can I Use 数据明确标注:IE11 “No support” for nested grid containers
  • @supports (display: grid) 在IE11里返回 true,但它不支持子级再 grid,所以这个检测毫无意义
  • 真要兼容,只能用 Flex 做子级布局,或把嵌套结构扁平化为单层Grid + 伪元素模拟分区
嵌套Grid真正难的不是写法,是搞清每一层的尺寸上下文从哪来、区域名在哪生效、以及浏览器到底把哪段CSS当真——这些边界稍不注意,就变成“看起来应该对,但就是不动”。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1878

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

3004

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

6284

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

6269

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

7834

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

11914

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

6159

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

6867

2025.08.07

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

热门下载

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

精品课程

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

共14课时 | 1.6万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn