CSS grid-template-areas 属性
CSS grid-template-areas 属性是网格区域 grid areas 在 CSS 中的特定命名。
实例
使命名项目 "myArea" 在五列网格布局中横跨两列:
<!DOCTYPE html><html><head><style>.item1 {grid-area: myArea;}.grid-container {display: grid;grid-template-areas: 'myArea myArea . . .';grid-gap: 10px;background-color: #2196F3;padding: 10px;}.grid-container > div {background-color: rgba(255, 255, 255, 0.8);text-align: center;padding: 20px 0;font-size: 30px;}</style></head><body><h2>grid-template-areas 属性</h2><p>您可以使用 <em>grid-template-areas</em> 属性来设置网格布局。</p><p>名为 "myArea" 的 Item1 会占据(五列中)两列的位置:</p><div class="grid-container"><div class="item1">1</div><div class="item2">2</div><div class="item3">3</div><div class="item4">4</div><div class="item5">5</div><div class="item6">6</div><div class="item7">7</div><div class="item8">8</div><div class="item9">9</div></div></body></html>
定义和用法
grid-template-areas 属性在网格布局中规定区域。
您可以使用 grid-area 属性命名网格项目,然后在 grid-template-areas 属性中引用该名称。
每个区域由撇号定义。请使用句号来引用没有名称的网格项目。
网格区块(grid areas)和网格项(grid item)沒有关联,但是它们可以和一些网格定位属性(grid-placement properties)关联起来,比如 grid-row-start,grid-row-end,grid-column-start 和 grid-column-end ;也可以和一些简写属性关联起来,比如grid-row,grid-column 和 grid-area。
| 默认值: | none |
|---|---|
| 继承: | 否 |
| 动画制作: | 支持。请参阅:动画相关属性。 |
| 版本: | CSS Grid Layout Module Level 1 |
| JavaScript 语法: | object.style.gridTemplateAreas=". . . myArea myArea" |
浏览器支持
表格中的数字注明了完全支持该属性的首个浏览器版本。
| 属性 | |||||
|---|---|---|---|---|---|
| grid-template-areas | 57 | 16 | 52 | 10 | 44 |
CSS 语法
grid-template-areas: none|itemnames;
属性值
| 值 | 描述 |
|---|---|
| none | 默认值。未命名网格区域(grid areas)。 |
| itemnames | 规定每列和每行应如何显示的序列。 |
更多实例
实例
规定两行,其中 "item1" 在前两行中横跨前两列(在五列网格布局中):
<!DOCTYPE html><html><head><style>.item1 {grid-area: myArea;}.grid-container {display: grid;grid-template-areas:'myArea myArea . . .''myArea myArea . . .';grid-gap: 10px;background-color: #2196F3;padding: 10px;}.grid-container > div {background-color: rgba(255, 255, 255, 0.8);text-align: center;padding: 20px 0;font-size: 30px;}</style></head><body><h2>grid-template-areas 属性</h2><p>如需规定两行,请设置更多的序列。</p><p>每行由撇号(' ')定义。</p><p>"myArea" 会在前两行中横跨前两列:</p><div class="grid-container"><div class="item1">1</div><div class="item2">2</div><div class="item3">3</div><div class="item4">4</div><div class="item5">5</div><div class="item6">6</div><div class="item7">7</div><div class="item8">8</div><div class="item9">9</div><div class="item10">10</div><div class="item11">11</div><div class="item12">12</div></div></body></html>
实例
命名所有项目,并制作一张现成网页模板:
<!DOCTYPE html><html><head><style>.item1 { grid-area: header; }.item2 { grid-area: menu; }.item3 { grid-area: main; }.item4 { grid-area: right; }.item5 { grid-area: footer; }.grid-container {display: grid;grid-template-areas:'header header header header header header''menu main main main right right''menu footer footer footer footer footer';grid-gap: 10px;background-color: #2196F3;padding: 10px;}.grid-container > div {background-color: rgba(255, 255, 255, 0.8);text-align: center;padding: 20px 0;font-size: 30px;}</style></head><body><h2>一张网页模板</h2><p>您可以使用 <em>grid-area</em> 属性来命名网格项目。</p><p>通过在网格容器上使用 <em>grid-template-areas</em> 属性,可以在设置网格布局时引用该名称。</p><p>这个网格布局包含六列三行:</p><div class="grid-container"><div class="item1">页眉</div><div class="item2">菜单</div><div class="item3">正文</div><div class="item4">右栏</div><div class="item5">页脚</div></div></body></html>
相关页面
CSS 教程:CSS 网格项目
CSS 参考手册:grid-area 属性
CSS 参考手册:grid-template 属性