grid-area
CSS
shorthand property
specifies a grid item’s size and location within a
grid
by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its
grid area
.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
If four
<grid-line>
values are specified,
grid-row-start
is set to the first value,
grid-column-start
is set to the second value,
grid-row-end
is set to the third value, and
grid-column-end
is set to the fourth value.
When
grid-column-end
is omitted, if
grid-column-start
是
<custom-ident>
,
grid-column-end
is set to that
<custom-ident>
; otherwise, it is set to
auto
.
When
grid-row-end
is omitted, if
grid-row-start
是
<custom-ident>
,
grid-row-end
is set to that
<custom-ident>
; otherwise, it is set to
auto
.
When
grid-column-start
is omitted, if
grid-row-start
是
<custom-ident>
, all four longhands are set to that value. Otherwise, it is set to
auto
.
The grid-area property can also be set to a
<custom-ident>
which acts as a name for the area, which can then be placed using
grid-template-areas
.
此特性是下列 CSS 特性的简写:
/* Keyword values */ grid-area: auto; grid-area: auto / auto; grid-area: auto / auto / auto; grid-area: auto / auto / auto / auto; /* <custom-ident> values */ grid-area: some-grid-area; grid-area: some-grid-area / another-grid-area; /* <integer> && <custom-ident>? values */ grid-area: 4 some-grid-area; grid-area: 4 some-grid-area / 2 another-grid-area; /* span && [ <integer> || <custom-ident> ] values */ grid-area: span 3; grid-area: span 3 / span some-grid-area; grid-area: 2 span / another-grid-area span; /* Global values */ grid-area: inherit; grid-area: initial; grid-area: unset;
auto
1
.
<custom-ident>
<custom-ident>-start
'/'
<custom-ident>-end
', it contributes the first such line to the grid item’s placement.
注意:
Named grid areas automatically generate implicit named lines of this form, so specifying
grid-area: foo;
will choose the start/end edge of that named grid area (unless another line named
foo-start
/
foo-end
was explicitly specified before it).
Otherwise, this is treated as if the integer
1
had been specified along with the
<custom-ident>
.
<integer> && <custom-ident>?
If a name is given as a
<custom-ident>
, only lines with that name are counted. If not enough lines with that name exist, all implicit grid lines are assumed to have that name for the purpose of finding this position.
An
<integer>
value of
0
is invalid.
span && [ <integer> || <custom-ident> ]
If a name is given as a
<custom-ident>
, only lines with that name are counted. If not enough lines with that name exist, all implicit grid lines on the side of the explicit grid corresponding to the search direction are assumed to have that name for the purpose of counting this span.
若
<integer>
is omitted, it defaults to
1
. Negative integers or 0 are invalid.
| 初始值 |
as each of the properties of the shorthand:
|
|---|---|
| 适用于 | grid items and absolutely-positioned boxes whose containing block is a grid container |
| 继承 | no |
| 计算值 |
as each of the properties of the shorthand:
|
| 动画类型 | discrete |
<grid-line> [ / <grid-line> ]{0,3}where
<grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]
<div id="grid"> <div id="item1"></div> <div id="item2"></div> <div id="item3"></div> </div>
#grid {
display: grid;
height: 100px;
grid-template: repeat(4, 1fr) / 50px 100px;
}
#item1 {
background-color: lime;
grid-area: 2 / 2 / auto / span 3;
}
#item2 {
background-color: yellow;
}
#item3 {
background-color: blue;
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
CSS 栅格布局
The definition of 'grid-area' in that specification. |
候选推荐 | 初始定义 |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
grid-area
|
Chrome
完整支持
57
|
Edge 完整支持 16 |
Firefox
完整支持
52
|
IE 不支持 No |
Opera
完整支持
44
|
Safari 完整支持 10.1 | WebView Android 完整支持 57 |
Chrome Android
完整支持
57
|
Firefox Android
完整支持
52
|
Opera Android
完整支持
43
|
Safari iOS 完整支持 10.3 | Samsung Internet Android 完整支持 6.0 |
完整支持
不支持
用户必须明确启用此特征。
grid-row
,
grid-row-start
,
grid-row-end
,
grid-column
,
grid-column-start
,
grid-column-end
,
grid-template-areas