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-Kurzform-Eigenschaft legt die Größe und Position eines Grid-Items innerhalb eines Grid fest, indem sie eine Linie, eine Spanne oder nichts (automatisch) zu seiner Gitterplatzierung beiträgt und somit die Ränder seines Gridbereichs 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: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
}
#example-element {
background-color: rgba(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, und grid-column-start
ein <custom-ident>
ist, wird grid-column-end
auf diesen <custom-ident>
gesetzt; andernfalls auf auto
.
Wenn grid-row-end
weggelassen wird, und grid-row-start
ein <custom-ident>
ist, wird grid-row-end
auf diesen <custom-ident>
gesetzt; andernfalls auf auto
.
Wenn grid-column-start
weggelassen wird, und grid-row-start
ein <custom-ident>
ist, werden alle vier Langformen auf diesen Wert gesetzt. Andernfalls wird er 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.
Bestandteile
Diese Eigenschaft ist eine Kurzform 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 anzeigt, dass die Eigenschaft nichts zur Platzierung des Grid-Items beiträgt, was eine automatische Platzierung oder eine Standardspanne von
1
bedeutet. <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-Items bei.Hinweis: Benannte Grid-Bereiche erzeugen automatisch implizite benannte Linien dieser Form, sodass die Angabe von
grid-area: foo;
den Start-/Endrand dieses benannten Grid-Bereichs wählt (es sei denn, eine andere Linie namensfoo-start
/foo-end
wurde vorher explizit angegeben).Andernfalls wird dies so behandelt, als ob die Zahl
1
zusammen mit dem<custom-ident>
angegeben worden wäre. <integer> && <custom-ident>?
-
Trägt die n-te Grid-Linie zur Platzierung des Grid-Items bei. Wenn eine negative Ganzzahl angegeben wird, zählt sie stattdessen rückwärts, beginnend vom Endrand 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 existieren, wird angenommen, dass alle impliziten Grid-Linien diesen Namen haben, um diese Position zu finden.Ein
<integer>
-Wert von0
ist ungültig. span && [ <integer> || <custom-ident> ]
-
Trägt eine Grid-Spanne zur Platzierung des Grid-Items bei, sodass der entsprechende Rand des Gridbereichs des Grid-Items n Linien vom gegenüberliegenden Rand 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 existieren, wird angenommen, dass alle impliziten Grid-Linien auf der Seite des expliziten Grids, die der Suchrichtung entspricht, diesen Namen haben, um diese Spanne zu zählen.Wenn die
<integer>
ausgelassen wird, beträgt sie standardmäßig1
. Negative oder0
Zahlen 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
Einstellen 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 |
Browser-Kompatibilität
BCD tables only load in the browser