CSS grid-area Eigenschaft
Die CSS-Eigenschaft grid-area definiert die Größe und Position von Grid-Elementen innerhalb des Grid-Containers. Mit Beispielen zum Ausprobieren.
Die Eigenschaft grid-area wird verwendet, um die Größe und Position eines Grid-Elements innerhalb des Grid-Containers festzulegen. Sie ist eine Kurzschreibweise für die folgenden Eigenschaften, die in dieser Reihenfolge angewendet werden: row-start, column-start, row-end, column-end:
- grid-row-start, gibt die Zeile an, in der das Element beginnen soll.
- grid-column-start, gibt die Spalte an, in der das Element beginnen soll.
- grid-row-end, gibt die Zeile an, in der das Element enden soll.
- grid-column-end, gibt die Spalte an, in der das Element enden soll.
Die Eigenschaft grid-area weist einem Grid-Element auch einen Namen zu. Benannte Grid-Elemente können dann von der Eigenschaft grid-template-areas des Grid-Containers referenziert werden.
| Anfangswert | auto / auto / auto / auto |
|---|---|
| Anwendbar auf | Grid-Elemente. |
| Vererbbar | Nein. |
| Animierbar | Nein. |
| Version | CSS Grid Layout Module Level 1 |
| DOM-Syntax | element.style.gridArea = "1 / 2 / span 2 / span 3"; |
Syntax
grid-area: <grid-line> / <grid-line> / <grid-line> / <grid-line> | <custom-ident> | initial | inherit;Hinweis: Die Kurzschreibweise akzeptiert 1 bis 4 Werte. Werden weniger als 4 Werte angegeben, wird für fehlende Werte
autoverwendet. Das Schlüsselwortspankann für die Endwerte verwendet werden (z. B.span 2).
Beispiel
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
.box1 {
grid-area: header;
}
.box2 {
grid-area: left;
}
.box3 {
grid-area: main;
}
.box4 {
grid-area: right;
}
.box5 {
grid-area: footer;
}
.grid-container {
display: grid;
grid-template-areas: 'header header header header header header' 'left main main main right right' 'left footer footer footer footer footer';
gap: 5px;
background-color: #555;
padding: 10px;
}
.grid-container > div {
background-color: #ccc;
text-align: center;
padding: 30px 0;
font-size: 30px;
}
</style>
</head>
<body>
<h2>Grid-area property example</h2>
<p>You can use the grid-area property to name grid items.</p>
<div class="grid-container">
<div class="box1">Header</div>
<div class="box2">Left</div>
<div class="box3">Main</div>
<div class="box4">Right</div>
<div class="box5">Footer</div>
</div>
</body>
</html>Ergebnis

Im folgenden Beispiel wird dem Element box1 der Wert itemname zugewiesen, der alle fünf im Grid-Template definierten Spalten umspannt. Da das Grid nur 5 Spalten definiert, werden die verbleibenden Elemente automatisch in die nächste Zeile verschoben (implizite Grid-Platzierung).
Es ist auch möglich, ein Element anhand von Grid-Liniennummern statt eines Namens zu platzieren. Die vier Werte folgen der Reihenfolge row-start / column-start / row-end / column-end, und das Schlüsselwort span gibt an, wie viele Tracks das Element überdecken soll. Im folgenden Beispiel bewirkt grid-area: 1 / 1 / 3 / 3;, dass das Element an der ersten Zeile und Spalte beginnt und an der dritten Zeile und Spalte endet, wodurch es einen 2×2-Bereich belegt.
Beispiel mit Grid-Liniennummern
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
.box1 {
/* row-start / column-start / row-end / column-end */
grid-area: 1 / 1 / 3 / 3;
background-color: #8ebf42;
}
.grid-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-auto-rows: 60px;
gap: 5px;
background-color: #555;
padding: 5px;
}
.grid-container > div {
background-color: #eee;
text-align: center;
font-size: 20px;
}
</style>
</head>
<body>
<h2>Placing an item with line numbers</h2>
<div class="grid-container">
<div class="box1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
</div>
</body>
</html>Beispiel mit itemname-Wert
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
.box1 {
grid-area: itemname;
}
.grid-container {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-areas: 'itemname itemname itemname itemname itemname';
gap: 5px;
background-color: #8ebf42;
padding: 5px;
}
.grid-container > div {
background-color: #eee;
text-align: center;
padding: 20px 0;
font-size: 20px;
}
</style>
</head>
<body>
<h2>Grid-area property example</h2>
<div class="grid-container">
<div class="box1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
</body>
</html>Werte
| Wert | Beschreibung |
|---|---|
<grid-line> | Gibt die Grid-Linie an, an der das Element beginnt oder endet. Akzeptiert eine Zahl, span <number> oder auto. |
custom-ident | Gibt einen Namen für das Element an (wird mit grid-template-areas verwendet). |
initial | Setzt die Eigenschaft auf ihren Standardwert. |
inherit | Erbt die Eigenschaft vom übergeordneten Element. |