网格命名区域属性

最后更新:2026-09-13

grid-template-areas 网格命名区域属性

grid-template-areas 允许你通过命名区域来直观地定义网格布局结构。每个字符串代表一行,字符串中的每个标识符代表一个单元格所属的区域,相同名称的相邻单元格会自动合并为一个区域。它让网格布局的可读性大幅提升,特别适合整页布局设计。

分类
初始值none
继承
适用于
可动画
CSS 版本CSS3
状态标准

📝 语法

grid-template-areas: none | <string>+;

⚙️ 取值

类型描述
none关键字无命名区域
<string>类型区域名称定义

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
grid-template-areas v57 v16 v52 v10.1 v44
所有主流浏览器均支持
提示: 区域名称在视觉上按行列对齐书写,可以直观看到页面结构,是 grid-template-areas 的一大优势。
注意: 每个字符串中的列数必须与网格列数一致,且每个区域必须是矩形,不能出现 L 形或不规则形状。

❓ 常见问题

Qgrid-template-areas 中的区域名有什么规则?
A区域名必须是合法 CSS 标识符:不能以数字开头、不能含空格、不能含特殊符号(连字符和下划线除外),也不能用 auto、span 等全局关键字。每个字符串代表网格的一行,字符串内相同名称的相邻单元格会自动合并为一个区域,且该区域必须是矩形,不能是 L 形或不连通形状。
Q如何让某个单元格保持空白?
A用连续的句点(.)表示空白单元格,一个或多个均可,例如 "header . ." 表示第二、三列为空。每行字符串的长度(单元格数量)必须一致,空白占位同样计入列数。想留白的单元格写 . 即可,多个 . 仅用于可读性,没有额外语义。
Q如何用 grid-template-areas 实现响应式布局?
A把区域划分交给 CSS:桌面端模板 "header header" / "sidebar main",移动端媒体查询只换模板 "header" / "main" / "sidebar",子项仍用 grid-area 引用区域名,DOM 不用动。这是 grid-template-areas 的核心价值:布局与结构解耦。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏