grid-area
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.
Die grid-area
CSS-Shorthand-Eigenschaft legt die Größe und Position eines Grid-Elements innerhalb eines Grids fest, indem sie eine Linie, einen Umfang oder nichts (automatisch) zu seiner Position im Grid beiträgt und somit die Grenzen seines Grid-Bereichs spezifiziert.
Probieren Sie es aus
grid-area: a;
grid-area: b;
grid-area: c;
grid-area: 2 / 1 / 2 / 4;
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">Example</div>
</div>
</section>
.example-container {
border: 1px solid #c5c5c5;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: repeat(3, minmax(40px, auto));
grid-template-areas:
"a a a"
"b c c"
"b c c";
grid-gap: 10px;
width: 200px;
}
.example-container > div {
background-color: rgb(0 0 255 / 0.2);
border: 3px solid blue;
}
#example-element {
background-color: rgb(255 0 200 / 0.2);
border: 3px solid rebeccapurple;
}
Wenn vier <grid-line>
-Werte angegeben werden, wird grid-row-start
auf den ersten Wert gesetzt, grid-column-start
auf den zweiten Wert, grid-row-end
auf den dritten Wert und grid-column-end
auf den vierten Wert.
Wenn grid-column-end
weggelassen wird, wird grid-column-end
auf dieses <custom-ident>
gesetzt, falls grid-column-start
ein <custom-ident>
ist; andernfalls wird es auf auto
gesetzt.
Wenn grid-row-end
weggelassen wird, wird grid-row-end
auf dieses <custom-ident>
gesetzt, falls grid-row-start
ein <custom-ident>
ist; andernfalls wird es auf auto
gesetzt.
Wenn grid-column-start
weggelassen wird, werden alle vier Langformen auf diesen Wert gesetzt, falls grid-row-start
ein <custom-ident>
ist. Andernfalls wird es auf auto
gesetzt.
Die grid-area
-Eigenschaft kann auch auf einen <custom-ident>
gesetzt werden, der als Name für den Bereich fungiert, der dann mit grid-template-areas
platziert werden kann.
Zusammengesetzte Eigenschaften
Diese Eigenschaft ist eine Shorthand für die folgenden CSS-Eigenschaften:
Syntax
/* 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: revert;
grid-area: revert-layer;
grid-area: unset;
Werte
auto
-
Ist ein Schlüsselwort, das angibt, dass die Eigenschaft nichts zur Platzierung des Grid-Elements beiträgt und auf eine automatische Platzierung oder einen Standardumfang von
1
hinweist. <custom-ident>
-
Wenn es eine benannte Linie mit dem Namen
<custom-ident>-start
oder<custom-ident>-end
gibt, trägt sie die erste solche Linie zur Platzierung des Grid-Elements bei.Hinweis: Benannte Grid-Bereiche generieren automatisch implizit benannte Linien dieser Form, sodass die Angabe
grid-area: foo;
die Start-/Endkante dieses benannten Grid-Bereichs wählt (es sei denn, es wurde vorher explizit eine andere Linie mit dem Namenfoo-start
/foo-end
angegeben).Andernfalls wird dies so behandelt, als ob die Ganzzahl
1
zusammen mit dem<custom-ident>
angegeben worden wäre. <integer> && <custom-ident>?
-
Trägt die n-te Grid-Linie zur Platzierung des Grid-Elements bei. Wenn eine negative Ganzzahl angegeben wird, zählt sie stattdessen rückwärts, beginnend von der Endkante des expliziten Grids.
Wenn ein Name als
<custom-ident>
angegeben wird, werden nur Linien mit diesem Namen gezählt. Wenn nicht genügend Linien mit diesem Namen vorhanden sind, wird davon ausgegangen, dass alle impliziten Grid-Linien diesen Namen zum Zweck der Positionsbestimmung haben.Ein
<integer>
-Wert von0
ist ungültig. span && [ <integer> || <custom-ident> ]
-
Trägt einen Grid-Umfang zur Platzierung des Grid-Elements bei, sodass die entsprechende Kante des Grid-Bereichs des Grid-Elements n Linien von der gegenüberliegenden Kante entfernt ist.
Wenn ein Name als
<custom-ident>
angegeben wird, werden nur Linien mit diesem Namen gezählt. Wenn nicht genügend Linien mit diesem Namen vorhanden sind, wird davon ausgegangen, dass alle impliziten Grid-Linien auf der Seite des expliziten Grids in Suchrichtung diesen Namen zum Zweck der Zählung dieses Umfangs haben.Wenn die
<integer>
weggelassen wird, lautet der Standardwert1
. Negative Ganzzahlen oder 0 sind ungültig.
Formale Definition
Anfangswert | wie die jeweiligen Kurzschreibweisen:
|
---|---|
Anwendbar auf | Gridelemente und absolut positionierte Boxen, deren beinhaltender Block ein Gridcontainer ist |
Vererbt | Nein |
Berechneter Wert | wie die jeweiligen Kurzschreibweisen:
|
Animationstyp | diskret |
Formale Syntax
grid-area =
<grid-line> [ / <grid-line> ]{0,3}
<grid-line> =
auto |
<custom-ident> |
[ [ <integer [-∞,-1]> | <integer [1,∞]> ] && <custom-ident>? ] |
[ span && [ <integer [1,∞]> || <custom-ident> ] ]
Beispiele
Festlegen von Grid-Bereichen
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;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Grid Layout Module Level 2 # propdef-grid-area |