CSS: das Grid-Layout

 

 

Header
Menu Main Aside
Footer

<!DOCTYPE html>
<html>
<head>
<style>
.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }
.item5 { grid-area: footer; }

.grid-container {
display: grid;
grid-template-areas:
'header header header header header header'
'menu main main main right right'
'menu footer footer footer footer footer';
gap: 10px;
background-color: #2196F3;
padding: 10px;
}

.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>

<h1>Grid Layout</h1>

<p>Dieses Grid-Layout besteht aus sechs Spalten und drei Reiehen</p>

<div class="grid-container">
<div class="item1">Header</div>
<div class="item2">Menu</div>
<div class="item3">Main</div>
<div class="item4">Aside</div>
<div class="item5">Footer</div>
</div>

</body>
</html>

Auf die verwendeten Grid-Befehle wird später eingegenagen.

Das CSS-Grid-Layout-Modul bietet ein rasterbasiertes Layoutsystem mit Zeilen und Spalten, das das Entwerfen von Webseiten erleichtert, ohne Floats und Positionierung verwenden zu müssen.Ein Grid-Layout besteht aus einem übergeordneten Element mit einem oder mehreren untergeordneten Elementen. Ein HTML-Element wird zu einem Grid-Container, wenn seine Anzeigeeigenschaft auf grid oder inline-grid gesetzt ist. Das Grid besteht aus Spalten (columns), Zeilen (rows) und Zwischenräumen (column-gap, row-gap, gaps).

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}

.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>

<h1>Display: grid</h1>

<p>Benutzen Sie display: grid;, um einen Container auf Blockebene zu erstellen </p>

<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>

</body>
</html>

Grid1

 

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
gap: 50px;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}

.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>

<h1>Die Gap Eigenschaft:</h1>

<p>Verwenden Sie die Eigenschaft gap, um den Abstand zwischen den Spalten und Zeilen anzupassen:</p>

<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>

</body>
</html>

df

.grid-container {
display: grid;
column-gap: 50px;
}

.grid-container {
display: grid;
row-gap: 50px;
}

.grid-container {
display: grid;
gap: 50px 100px;
/*gap: 50px;  alternative Darstellung, wenn Werte gleich sind '/
}

Die Gap-Eigenschaft ist eine Kurznotierung für die Row-Gap- und die Column-Gap-Eigenschaft.

Die Linien zwischen den Spalten werden als colomn lines, die Linien zwischen den Zeilen werden row lines bezeichnet. Gezählt wird von links nach rechts bzw. non oben nach unten. Begonnen wird mit 1. Dies ist die Linie links neben der ersten Spalte bzw. die Linie oberhalb der ersten Zeile.

Platzieren Sie ein Rasterelement, dass bei Spaltenlinie 1 beginnt und bei Spaltenline 3 endet. Es zeiht sich also über zwei Spalten hin.

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
gap: 10px;
background-color: #2196F3;
padding: 10px;
}

.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}

.item1 {
grid-column-start: 1;
grid-column-end: 3;
}
</style>
</head>
<body>

<h1>Grid Lines</h1>

<div class="grid-container">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
<div class="item5">5</div>
<div class="item6">6</div>
<div class="item7">7</div>
<div class="item8">8</div>
</div>

<p>Beim Platzieren von Rasterelementen können Sie sich auf Zeilennummern beziehen.</p>

</body>
</html>

fd

In der folgenden Tabelle sind alle Grid-Eigenschaften aufgelistet:

Eigenschaft Beschreibung
column-gap Gibt den Abstand zwischen den Spalten an
gap Eine abgekürzte Eigenschaft für die Row-Gap- und die Column-Gap-Eigenschaft
grid Eine abgekürzte Eigenschaft für die Eigenschaften grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns und die grid-auto-flow Eigenschaften
grid-area Gibt entweder einen Namen für das Rasterelement an, oder diese Eigenschaft ist eine Kurzformeigenschaft für die Eigenschaften grid-row-start, grid-column-start, grid-row-end und grid-column-end
grid-auto-columns Gibt eine Standardspaltengröße an
grid-auto-flow Gibt an, wie automatisch platzierte Elemente in das Raster eingefügt werden
grid-auto-rowa Gibt eine Standardzeilengröße an
grid-column Eine abgekürzte Eigenschaft für die Eigenschaften grid-column-start und grid-column-end
grid-column-end Gibt an, wo das Grid-Element enden soll
grid-column-gap Gibt die Größe des Abstands zwischen Spalten an
grid-column-start Gibt an, wo das Grid-Element beginnen soll
grid-gap Eine abgekürzte Eigenschaft für die Eigenschaften grid-row-gap und grid-column-gap
grid-row Eine abgekürzte Eigenschaft für die Eigenschaften grid-row-start und grid-row-end
grid-row-end Gibt an, wo das Rasterelement enden soll
grid-row-gap Gibt die Größe des Abstands zwischen Zeilen an
grid-row-start Gibt an, wo das Grid-Element beginnen soll
grid-template Eine abgekürzte Eigenschaft für die Eigenschaften grid-template-rows, grid-template-columns und grid-areas
grid-template-areas  Gibt an, wie Spalten und Zeilen angezeigt werden, indem benannte Rasterelemente verwendet werden
grid-template-columns Gibt die Größe der Spalten und die Anzahl der Spalten in einem Rasterlayout an
grid-template-rows Gibt die Größe der Zeilen in einem Rasterlayout an
row-gap Gibt den Abstand zwischen den Rasterzeilen an
column-count Gibt die Spaltenanzahl an, in die ein Element aufgeteilt wird
 
Grid-template-columns:

Diese Eigenschaft definiert die Anzahl der Spalten im Grid-Layout. Man kann definierte Breiten angeben oder auto, wenn alle Spalten gleich breit sein sollen.

.grid-container {
display: grid;
grid-template-columns: auto auto auto auto;
}

.grid-container {
display: grid;
grid-template-columns: 80px 200px auto 40px;
}

Grid-template-rows:

Diese Eigenschaft defineirt die Höhe jeder Zeile. Für vier Zeilen können vier verschiedene Werte angegeben werden. Die Verwendung dieser Eigenschaft ist nicht notwenig.

.grid-container {
display: grid;
grid-template-rows: 80px 200px 60px 100px;
}

Grid-column:

Die grid-column-Eigenschaft definiert, in welcher(n) Spalte(n) ein Element platziert werden soll. Sie definiert, wo das Element beginnt und wo das Element endet. Im folgendenn Beispiel startet "item1" in Spalte 1 und endet vor Spalte 5, es werden also die Spalten 1-4 belegt.

.item1 {
grid-column: 1 / 5;
}

 

Row-column:

Die row-column-Eigenschaft definiert, in welcher(n) Zeile(n) ein Element platziert werden soll. Sie definiert, wo das Element beginnt und wo das Element endet. Im folgendenn Beispiel startet "item2" in Zeile 2 und endet vor Zeile 4, es werden also die Zeilen 2 und 3 belegt.

.item2 {
grid-row: 2 / 4;
}

Grid-area:

Die Eigenschaft grid-area kann als Kurzform für die Eigenschaften grid-row-start, grid-column-start, grid-row-end und grid-column-end verwendet werden. "item8" beginnt bei Zeile 1 und Spalte 2 und umschließt Zeile 4 und Spalte 5

.item8 {
grid-area: 1 / 2 / 5 / 6;
}

Grid-template-areas:

Man kann die Grid-area eines Items auch mit einem Namen verbinden, der dann über grid-template-areas mit dem Container verbunden werden. Benennen Sie alle Elemente und erstellen Sie eine gebrauchsfertige Webseitenvorlage.

.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: aside; }
.item5 { grid-area: footer; }

.grid-container {
grid-template-areas:
'header header header header header header'
'menu main main main aside aside'
'menu footer footer footer footer footer';
}

Der Container besteht aus sechs Spalten und drei Zeilen.

<!DOCTYPE html>
<html>
<head>
<style>
.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: aside; }
.item5 { grid-area: footer; }

.grid-container {
display: grid;
grid-template-areas:
'header header header header header header'
'menu main main main aside aside'
'menu footer footer footer footer footer';
gap: 10px;
background-color: #2196F3;
padding: 10px;
}

.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>

<h1>Die grid-area Eigenschaft</h1>



<div class="grid-container">
<div class="item1">Kopfteil</div>
<div class="item2">Navigation</div>
<div class="item3">Hauptteil</div>
<div class="item4">Anmerkungen</div>
<div class="item5">Fußteil</div>
</div>

</body>
</html>

gf