subgrid 只能作为 grid-template-columns 或 grid-template-rows 的值,必须显式声明继承方向,且需配合 display: grid 使用;它仅继承父网格轨道尺寸和位置(gap 除外),不继承 auto-placement 等行为。

grid-template-columns: subgrid 和 grid-template-rows: subgrid 不是可选的“快捷写法”,而是唯一合法的启用方式。浏览器只认这两个字面值,写成 sub-grid、"subgrid" 或 subgrid() 都会失效。
子网格必须显式声明继承方向
父网格可能有列轨道但没定义行轨道(比如只设了 grid-template-columns),这时子网格不能“自动猜”该继承什么。你得明确告诉它:
– 要对齐列?写 grid-template-columns: subgrid
– 要对齐行?写 grid-template-rows: subgrid
– 都要?就两行都写,或用简写 grid-template: subgrid / subgrid
子网格不是 display 属性的新取值
很多人误以为该用 display: subgrid,这是错的。
– display: grid 仍是必需的,子元素必须先成为网格容器
– subgrid 只能作为 grid-template-columns 或 grid-template-rows 的值出现
– 没有 display: subgrid 这个语法,所有主流浏览器都不支持
继承轨道 ≠ 继承 gap 或 auto-placement 行为
子网格只继承父网格的轨道尺寸和位置,其他特性不会自动带过来:
– gap 会继承(这是例外),但仅当父网格设置了 gap 且子网格没覆盖它
– grid-auto-flow、justify-items 等仍需单独设置
– 子网格内元素的 grid-column 值,参照的是父网格的列线编号,不是子网格自己的——这点容易搞混,比如父网格第 2 条线,在子网格里仍是 2,不是重新从 1 开始数
grid-column 定位、响应式断点重设轨道时掉进坑里。


















