grid 是一个 CSS 简写属性,可以用来设置以下属性:
显式网格属性 {{cssxref("grid-template-rows")}}、{{cssxref("grid-template-columns")}} 和 {{cssxref("grid-template-areas")}},
隐式网格属性 {{cssxref("grid-auto-rows")}}、{{cssxref("grid-auto-columns")}} 和 {{cssxref("grid-auto-flow")}},
间距属性 {{cssxref("grid-column-gap")}} 和 {{cssxref("grid-row-gap")}}。
{{InteractiveExample("CSS Demo: grid")}}
```css interactive-example-choice grid: auto-flow / 1fr 1fr 1fr;
```css interactive-example-choice
grid: auto-flow dense / 40px 40px 1fr;
```css interactive-example-choice grid: repeat(3, 80px) / auto-flow;
```html interactive-example
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>
</div>
</section>
```css interactive-example
example-element {
border: 1px solid #c5c5c5; display: grid; grid-gap: 10px; width: 200px; }
example-element :nth-child(1) {
background-color: rgba(0, 0, 255, 0.2); border: 3px solid blue; }
example-element :nth-child(2) {
background-color: rgba(255, 0, 200, 0.2); border: 3px solid rebeccapurple; grid-column: auto / span 3; grid-row: auto / span 2; }
example-element :nth-child(3) {
background-color: rgba(94, 255, 0, 0.2); border: 3px solid green; grid-column: auto / span 2; }
> [!NOTE]
> 你仅可在一个 `grid` 属性中声明显式或隐式网格。与其他简写属性同样,若有次级属性未被声明,其将使用初始值。另外,尽管此简写声明无法设置网格的槽(gutter),槽会被该声明重置。
## 语法
```css
/* <'grid-template'> values */
grid: none;
grid: "a" 100px "b" 1fr;
grid: [linename1] "a" 100px [linename2];
grid: "a" 200px "b" min-content;
grid: "a" minmax(100px, max-content) "b" 20%;
grid: 100px / 200px;
grid: minmax(400px, min-content) / repeat(auto-fill, 50px);
/* <'grid-template-rows'> /
[ auto-flow && dense? ] <'grid-auto-columns'>? values */
grid: 200px / auto-flow;
grid: 30% / auto-flow dense;
grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px;
grid: [line1] minmax(20em, max-content) / auto-flow dense 40%;
/* [ auto-flow && dense? ] <'grid-auto-rows'>? /
<'grid-template-columns'> values */
grid: auto-flow / 200px;
grid: auto-flow dense / 30%;
grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px);
grid: auto-flow dense 40% / [line1] minmax(20em, max-content);
/* Global values */
grid: inherit;
grid: initial;
grid: unset;
值
<'grid-template'>- : 定义了 {{cssxref("grid-template")}},其包含 {{cssxref("grid-template-columns")}},{{cssxref("grid-template-rows")}} 和 {{cssxref("grid-template-areas")}}。
<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?通过 {{cssxref("grid-template-rows")}} 属性显式设置行轨道来设置自动流({{cssxref("grid-template-columns")}} 属性设为none),并通过 {{cssxref("grid-auto-columns")}} 明确该如何自动重复列轨道(同时{{cssxref("grid-auto-rows")}}属性设为 auto)。{{cssxref("grid-auto-flow")}} 属性也被相应的设置为column,并可附有 dense。- : 所有其余
grid次级属性被重置为初始值。
- : 所有其余
[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>- : 通过 {{cssxref("grid-template-columns")}} 属性显式设置列轨道来设置自动流({{cssxref("grid-template-rows")}} 属性设为
none),并通过 {{cssxref("grid-auto-rows")}} 明确该如何自动重复行轨道(同时{{cssxref("grid-auto-columns")}}属性设为auto)。{{cssxref("grid-auto-flow")}} 属性也被相应的设置为row,并可附有 dense。 所有其余grid次级属性被重置为初始值。
- : 通过 {{cssxref("grid-template-columns")}} 属性显式设置列轨道来设置自动流({{cssxref("grid-template-rows")}} 属性设为
标准语法
{{csssyntax}}
实例
HTML
<div id="container">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
#container {
display: grid;
grid: repeat(2, 60px) / auto-flow 80px;
}
#container > div {
background-color: #8ca0ff;
width: 50px;
height: 50px;
}
结果
{{EmbedLiveSample("实例", "100%", 150)}}