CSS grid-area 属性
定义和用法
grid-area 属性网格项目的尺寸以及在网格布局中的 位置,它是以下属性的简写属性:
grid-area 属性还可以用于为网格项分配名称。然后,可以通过网格容器的 grid-template-areas 属性引用命名的网格项目。请参阅下面的例子。
另请参阅:
CSS 教程:CSS 网格布局
实例
例子 1
使 "item1" 在行 2 列 1 开始,并横跨两行三列:
.item1 { grid-area: 2 / 1 / span 2 / span 3; }
提示:页面底部提供更多实例。
CSS 语法
grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end | itemname;
属性值
值 | 描述 |
---|---|
grid-row-start | 规定从哪一行开始显示项目。 |
grid-column-start | 规定从哪一列开始显示项目。 |
grid-row-end | 规定在哪条行线停止显示项目,或跨越多少行。 |
grid-column-end | 指定在哪条列线停止显示项目,或跨越多少列。 |
itemname | 规定网格项目的项目。 |
技术细节
默认值: | auto / auto / auto / auto |
---|---|
继承: | 否 |
动画制作: | 支持。请参阅:动画相关属性。 |
版本: | CSS Grid Layout Module Level 1 |
JavaScript 语法: | object.style.gridArea="1 / 2 / span 2 / span 3" |
更多实例
例子 2
Item1 被命名 "myArea",并在五列网格布局中横跨所有五列:
.item1 { grid-area: myArea; } .grid-container { display: grid; grid-template-areas: 'myArea myArea myArea myArea myArea'; }
例子 3
使 "myArea" 在五列网格布局中横跨两列(句号表示没有名称的项目):
.item1 { grid-area: myArea; } .grid-container { display: grid; grid-template-areas: 'myArea myArea . . .'; }
例子 4
使 "item1" 横跨两列和两行:
.grid-container { grid-template-areas: 'myArea myArea . . .' 'myArea myArea . . .'; }
例子 5
命名所有项目,并制作一张现成的网页模板:
.item1 { grid-area: header; } .item2 { grid-area: menu; } .item3 { grid-area: main; } .item4 { grid-area: right; } .item5 { grid-area: footer; } .grid-container { grid-template-areas: 'header header header header header header' 'menu main main main right right' 'menu footer footer footer footer footer'; }
浏览器支持
表格中的数字注明了完全支持该属性的首个浏览器版本。
Chrome | IE / Edge | Firefox | Safari | Opera |
---|---|---|---|---|
57 | 16 | 52 | 10 | 44 |