grid-template属性通过一行代码整合行列和区域定义,简化Grid布局。例如:grid-template: 100px 1fr / 200px 1fr创建两行两列;”header header” 60px “sidebar main” 1fr / 200px 1fr实现命名区域三区布局;复杂结构如”hd hd hd” 80px “nav main aside” 1fr “ft ft ft” 60px / 150px 1fr 200px直观构建页头、导航、主内容、侧边栏和页脚。注意区域闭合、大小写敏感及用.表示空单元格,可提升布局清晰度与维护性。
CSS 的 grid-template 属性是一个简写属性,能让我们用一行代码定义网格布局中的行、列和区域,大幅简化 Grid 布局的书写。它整合了
grid-template-rows
、
grid-template-columns
和
grid-template-areas
三个子属性,让布局更直观、紧凑。
基本语法结构
grid-template 的完整写法如下:
grid-template: <rows> / <columns>;
也可以结合
grid-template-areas
使用,实现可视化布局:
grid-template: [row-line-names] “area-names” [row-line-names] / [column-line-names] track-sizes;
常用简化写法示例
通过几个典型例子,展示如何用 grid-template 快速构建常见布局。
立即学习“前端免费学习笔记(深入)”;
1. 基础两栏布局
grid-template: 100px 1fr / 200px 1fr;
这表示:两行(第一行高100px,第二行占剩余空间),两列(第一列宽200px,第二列占剩余空间)。
2. 使用命名区域的三区域布局
grid-template: “header header” 60px “sidebar main” 1fr / 200px 1fr;
含义:
- 第一行高60px,包含 header 区域横跨两列
- 第二行高为 1fr,左侧是 sidebar,右侧是 main
- 列设置:第一列宽200px,第二列占剩余空间
配合
grid-area
使用,能让 HTML 结构更灵活。
3. 带空区域的复杂布局
grid-template: “hd hd hd” 80px “nav main aside” 1fr “ft ft ft” 60px / 150px 1fr 200px;
定义了一个典型的网页布局:头部、导航、主内容、侧边栏、页脚。其中:
- 三行三列
- 使用引号内的字符串直观描述每个区域位置
- 最后的
/
后定义列轨道尺寸
注意事项与技巧
虽然 grid-template 很强大,但使用时注意以下几点:
- 如果只写一个方向(如只有行或列),另一个方向默认为
none
,即无显式网格
- 命名区域必须闭合,不能出现断开或大小不一致的情况
- 引号内的区域名称区分大小写,且不能使用
.
开头(那是用来表示空单元格的)
- 可以插入
.
表示空白单元格,例如:”head head .” 表示第三列此处为空
基本上就这些。掌握 grid-template 能让你用更少代码写出清晰、可维护的网格布局,尤其是结合命名区域时,视觉结构一目了然。