CSS Grid einfach erklärt mit Beispielen

Mit CSS Grid kannst du moderne, flexible und responsive Layouts erstellen. In diesem Beitrag lernst du die Grundlagen von CSS Grid für Anfänger und siehst anhand praktischer Beispiele, wie du Zeilen, Spalten und komplette Webseiten-Strukturen sauber aufbaust.

Grundstruktur von CSS Grid

<div class="beispiel">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>
Item 1
Item 2
Item 3

<style>
.beispiel {
  display: grid;
}
</style>

Die wichtigsten CSS-Grid-Eigenschaften

Eigenschaft Mögliche Werte Beschreibung
display grid, inline-grid Aktiviert CSS Grid im Container
grid-template-columns 100px, 1fr, repeat(3, 1fr) Legt die Spalten des Grids fest
grid-template-rows 100px, auto, repeat(2, 1fr) Legt die Zeilen des Grids fest
gap Pixel, z.B. 10px, 20px Bestimmt den Abstand zwischen Grid-Items
justify-items start, center, end, stretch Richtet Grid-Items horizontal aus
align-items start, center, end, stretch Richtet Grid-Items vertikal aus
justify-content start, center, space-between, space-around, space-evenly Richtet das gesamte Grid auf der Hauptachse aus
grid-column 1 / 3, span 2 Ein Element über mehrere Spalten platzieren
grid-row 1 / 3, span 2 Ein Element über mehrere Zeilen platzieren
grid-template-areas Textbasierte Bereichsnamen Ermöglicht ein benanntes Layout-System

Erklärungen zu ausgewählten CSS-Grid-Eigenschaften

grid-template-columns

Mit grid-template-columns legst du fest, wie viele Spalten dein Grid hat und wie breit sie sind. Das ist eine der wichtigsten Eigenschaften im CSS Grid, weil du damit die Grundstruktur des Layouts definierst.

Item 1
Item 2
Item 3

<style>
.beispiel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
</style>

Beispiel: Die Items werden in drei gleich große Spalten aufgeteilt.

grid-template-rows

Mit grid-template-rows bestimmst du die Zeilenhöhe im Grid. So kannst du einzelne Zeilen gezielt größer oder kleiner machen und dein Layout präzise steuern.

Item 1
Item 2
Item 3

<style>
.beispiel {
  display: grid;
  grid-template-rows: 120px 200px 80px;
}
</style>

Beispiel: Die Items werden in Zeilen mit jeweils 80 Pixel Höhe angeordnet.

gap

gap sorgt für einen gleichmäßigen Abstand zwischen den Grid-Items. Das ist besonders praktisch, weil du nicht jedes Element einzeln mit Margins versehen musst.

Item 1
Item 2
Item 3

<style>
.beispiel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
</style>

Beispiel: Zwischen den Items entsteht ein Abstand von 20 Pixeln.

justify-items

Mit justify-items richtest du die Inhalte innerhalb der Grid-Zellen horizontal aus. Das ist hilfreich, wenn du Text oder Elemente innerhalb jeder Zelle exakt platzieren möchtest.

Item 1
Item 2
Item 3

<style>
.beispiel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
}
</style>

Beispiel: Die Items werden innerhalb ihrer Zellen mittig ausgerichtet.

grid-column

Mit grid-column kannst du ein Element über mehrere Spalten strecken. Das ist ideal für Header, breite Bereiche oder hervorgehobene Inhalte im Grid-Layout.

Item 1
Item 2
Item 3
Item 4

<style>
.beispiel {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.beispiel div:first-child {
  grid-column: 1 / 3;
}
</style>

Beispiel: Das erste Item nimmt beide Spalten ein und wird dadurch breiter dargestellt.

grid-row

Mit grid-row kannst du ein Element über mehrere Zeilen platzieren. Dadurch lassen sich größere Inhalte oder besondere Bereiche im Layout hervorheben.

Item 1
Item 2
Item 3
Item 4

<style>
.beispiel {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.beispiel div:first-child {
  grid-row: 1 / 3;
}
</style>

Beispiel: Das erste Item erstreckt sich über zwei Zeilen.

grid-template-areas

Mit grid-template-areas kannst du dein Layout mit benannten Bereichen strukturieren. Das macht komplexere Seiten übersichtlicher und leichter lesbar.

Header
Main

<style>
.beispiel {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-areas:
    "header header"
    "sidebar main"
    "footer footer";
}
</style>

Beispiel: Das Layout wird mit klar benannten Bereichen aufgebaut.


CSS Grid im Praxisbeispiel

Karte 1
Karte 2
Karte 3
Karte 4

<style>
.beispiel {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
</style>

Beispiel: Vier Karten werden in einem sauberen Grid-Layout mit zwei Spalten dargestellt.


Tipps & Tricks

  • Nutze display: grid; für komplexe Layouts mit Zeilen und Spalten.
  • Verwende gap statt einzelner Margins für saubere Abstände.
  • Teste grid-template-columns mit repeat() und fr-Einheiten.
  • CSS Grid eignet sich besonders gut für Seitenlayouts, Karten und Dashboard-Bereiche.

Kontakt

Webdesignstudio WedDesign

Eduard Wischnewski

Am Justusberg 7
41849 Wassenberg

    Ja, ich möchte den Newsletter erhalten