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
Is a keyword indicating that the property contributes nothing to the grid item’s placement, indicating auto-placement or a default span of 1 .
<custom-ident>
If there is a named line with the name ' <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>?
Contributes the n th grid line to the grid item’s placement. If a negative integer is given, it instead counts in reverse, starting from the end edge of the explicit grid.

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> ]
Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is n lines from the opposite edge.

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> ] ]

范例

Setting grid areas

HTML

<div id="grid">
  <div id="item1"></div>
  <div id="item2"></div>
  <div id="item3"></div>
</div>
					

CSS

#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.
候选推荐 初始定义

浏览器兼容性

The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
grid-area Chrome 完整支持 57
完整支持 57
完整支持 29 Disabled
Disabled From version 29: this feature is behind the Enable experimental Web Platform features preference. To change preferences in Chrome, visit chrome://flags.
Edge 完整支持 16 Firefox 完整支持 52
完整支持 52
不支持 40 — 59 Disabled
Disabled ). To change preferences in Firefox, visit
IE 不支持 No Opera 完整支持 44
完整支持 44
完整支持 28 Disabled
Disabled From version 28: this feature is behind the Enable experimental Web Platform features preference.
Safari 完整支持 10.1 WebView Android 完整支持 57 Chrome Android 完整支持 57
完整支持 57
完整支持 29 Disabled
Disabled From version 29: this feature is behind the Enable experimental Web Platform features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android 完整支持 52
完整支持 52
不支持 40 — 59 Disabled
Disabled ). To change preferences in Firefox, visit
Opera Android 完整支持 43
完整支持 43
完整支持 28 Disabled
Disabled From version 28: this feature is behind the Enable experimental Web Platform features preference.
Safari iOS 完整支持 10.3 Samsung Internet Android 完整支持 6.0

图例

完整支持

完整支持

不支持

不支持

用户必须明确启用此特征。

用户必须明确启用此特征。

另请参阅

元数据

  • 最后修改: