--- title: grid-template-areas slug: Web/CSS/grid-template-areas tags: - CSS - CSS属性 - CSS布局 - CSS网格 translation_of: Web/CSS/grid-template-areas ---
grid-template-areas CSS 属性是网格区域 {{glossary("grid areas")}} 在CSS中的特定命名。
Those areas are not associated with any particular grid item, but can be referenced from the grid-placement properties {{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-column-start")}}, {{cssxref("grid-column-end")}}, and their shorthands {{cssxref("grid-row")}}, {{cssxref("grid-column")}}, and {{cssxref("grid-area")}}.
网格区块(grid areas)和网格项(grid item)沒有关联,但是它们可以和一些网格定位属性(grid-placement properties)关联起来,比如{{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-column-start")}}和{{cssxref("grid-column-end")}};也可以和一些速记(shorthands)属性关联起来,比如{{cssxref("grid-row")}},{{cssxref("grid-column")}} 和 {{cssxref("grid-area")}}。
/* Keyword value */
grid-template-areas: none;
/* <string> values */
grid-template-areas: "a b"; /* 一行 两列 */
grid-template-areas: "a b b"
"a c d"; /* 两行 三列 */
/* Global values */
grid-template-areas: inherit; /* 继承 */
grid-template-areas: initial; /* 默认值 */
grid-template-areas: unset; /* 未设置 */
none{{cssxref("<string>")}}+<section id="page"> <header>Header</header> <nav>Navigation</nav> <main>Main area</main> <footer>Footer</footer> </section>
#page {
display: grid; /* 1.设置display为grid */
width: 100%;
height: 250px;
grid-template-areas: "head head"
"nav main"
"nav foot"; /* 2.区域划分 当前为 三行 两列 */
grid-template-rows: 50px 1fr 30px; /* 3.各区域 宽高设置 */
grid-template-columns: 150px 1fr;
}
#page > header {
grid-area: head; /* 4. 指定当前元素所在的区域位置, 从grid-template-areas选取值 */
background-color: #8ca0ff;
}
#page > nav {
grid-area: nav;
background-color: #ffa08c;
}
#page > main {
grid-area: main;
background-color: #ffff64;
}
#page > footer {
grid-area: foot;
background-color: #8cffa0;
}
{{ EmbedLiveSample('例子', '100%', '250px', '', 'Web/CSS/grid-template-areas') }}
| 规范 | 状态 | 说明 |
|---|---|---|
| {{SpecName("CSS3 Grid", "#propdef-grid-template-areas", "grid-template-areas")}} | {{Spec2("CSS3 Grid")}} | Initial definition |
{{cssinfo}}
{{Compat("css.properties.grid-template-areas")}}
[1] 从Chrome 29.0 开始支持,在 chrome://flags 中打开"开启实验性网络平台特性"(experimental Web Platform features)。从 Chrome {{CompatChrome("57.0")}} 开始默认开启。
[2] 从Gecko 40.0 {{geckoRelease("40.0")}} 开始支持, 在设置中打开layout.css.grid.enabled,默认是 false。从Gecko 52.0 {{geckoRelease("52.0")}}开始默认开启。
[3] EdgeHTML 16已支持。Internet Explorer 和 Edge 实现了一个旧版本的规范,旧的规范中没有定义这个属性。
[4] 从 Opera 28.0开始支持,在 chrome://flags中打开"开启实验性网络平台特性"(experimental Web Platform features)。从Opera {{CompatOpera(44)}}开始默认开启。