grid-template-areas
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
grid-template-areas
CSS 属性是网格区域 grid areas 在 CSS 中的特定命名。
尝试一下
网格区块 (grid areas) 和网格项 (grid item) 沒有关联,但是它们可以和一些网格定位属性 (grid-placement properties) 关联起来,比如grid-row-start
, grid-row-end
, grid-column-start
和grid-column-end
;也可以和一些速记 (shorthands) 属性关联起来,比如grid-row
,grid-column
和 grid-area
。
语法
css
/* 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; /* 未设置 */
值
形式语法
示例
HTML
html
<section id="page">
<header>Header</header>
<nav>Navigation</nav>
<main>Main area</main>
<footer>Footer</footer>
</section>
CSS
css
#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;
}
结果
规范
Specification |
---|
CSS Grid Layout Module Level 2 # grid-template-areas-property |
浏览器兼容性
BCD tables only load in the browser
参见
- 相关 CSS 属性:
grid-template-rows
、grid-template-columns
、grid-template
- Grid Layout 指南:Grid template areas
- 视频教程:Grid Template Areas