Freitag, 12-09-2025_WEB_KLU¶
Thema: CSS Grid (Grundlagen)¶
Ziel¶
- Verständnis für das CSS Grid Layout
- Abgrenzung zu Flexbox
- Praktische Anwendung im Raster-Layout
Was ist CSS Grid?¶
CSS Grid ist ein zweidimensionales Layoutsystem.
Unterschied:
- Flexbox → eindimensional (Zeile oder Spalte)
- Grid → zweidimensional (Zeilen und Spalten gleichzeitig)
Grid eignet sich besonders für:
- Seitenlayouts
- Dashboard-Strukturen
- Komplexe Raster
Container vs. Items¶
Grid-Container¶
Element mit:
.container {
display: grid;
}
Grid-Items¶
- Direkte Kinder des Containers
- Nur direkte Kinder werden automatisch Grid-Items
Wichtig:
Verschachtelte Elemente sind keine Grid-Items, wenn ihr Elternteil kein Grid ist.
Spalten und Zeilen definieren¶
.container {
display: grid;
grid-template-columns: 200px 200px 200px;
grid-template-rows: 100px 100px;
}
Ergebnis:
- 3 feste Spalten
- 2 feste Zeilen
Flexible Einheiten¶
fr (Fractional Unit)¶
Verteilt verfügbaren Restplatz proportional.
grid-template-columns: 1fr 2fr 1fr;
Bedeutung:
- Insgesamt 4 Teile
- Verhältnis 1:2:1
Weitere Einheiten¶
auto→ Größe abhängig vom Inhalt%→ relative Größepx→ feste Größe
Praxis:
Zu viele Pixelwerte → Layout nicht responsiv.
Abstände (Gaps)¶
.container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
gap→ Abstand zwischen Reihen und Spaltenrow-gap/column-gap→ getrennte Steuerung
Items gezielt platzieren¶
.item1 {
grid-column: 1 / 3;
grid-row: 1 / 2;
}
Bedeutung:
- Beginnt bei Spaltenlinie 1
- Endet vor Linie 3
- Spannt über 2 Spalten
Alternative Kurzform:
grid-column: span 2;
Nützliche Funktionen¶
repeat()¶
grid-template-columns: repeat(3, 1fr);
→ 3 gleich große Spalten
minmax()¶
grid-template-columns: repeat(3, minmax(150px, 1fr));
- Minimum: 150px
- Maximum: 1fr
- Ermöglicht responsive Layouts
Typische Fehler¶
display: grid;vergessen- Grid nur auf verschachteltes Element gesetzt
- Zu viele feste Pixelwerte
frnicht sinnvoll kombiniert- Items nicht korrekt platziert
Übungsidee (Unterricht)¶
- 4 Spalten
- 3 Zeilen
- Spaltenbreiten: 1fr, 2fr, auto, 100px
- 6 Items einfügen
- Ein Item über 2 Spalten spannen
- Mit
gapundrepeat()experimentieren
Prüfungs- & Praxisbezug¶
Wichtig zu verstehen:
- Unterschied Grid vs. Flexbox
- Container/Item-Prinzip
- Bedeutung von
fr - Responsive Verhalten durch flexible Einheiten
- Struktur zuerst (HTML), Design danach (CSS)
CSS Grid ist heute Standard für moderne Weblayouts.