CSS Grid - Grundlagen
Grid: ein zweidimensionales Raster
Abschnitt betitelt „Grid: ein zweidimensionales Raster“Flexbox ordnet Kinder entlang einer Achse an. CSS Grid legt ein echtes Gitternetz aus Zeilen und Spalten über ein Element:
.page { display: grid;}Das Grid definieren: Spalten und Zeilen
Abschnitt betitelt „Das Grid definieren: Spalten und Zeilen“.page { display: grid; grid-template-columns: 270px 1fr 1fr; grid-template-rows: 60px auto 100px;}grid-template-columnslegt fest, wie breit jede Spalte ist - hier drei Spaltengrid-template-rowslegt fest, wie hoch jede Zeile ist - hier drei Zeilen- Die direkten Kinder von
.pagewerden automatisch der Reihe nach in die Zellen dieses Rasters einsortiert
Die neue Maßeinheit fr
Abschnitt betitelt „Die neue Maßeinheit fr“.page { display: grid; grid-template-columns: 270px 5fr 3fr;}fr steht für fraction (Bruchteil). Zuerst werden die absoluten Angaben (hier 270px) von der Gesamtbreite abgezogen. Der restliche Platz wird dann im Verhältnis der fr-Werte verteilt:
- Verfügbare Breite: 1280px
- Minus feste erste Spalte: 1280px - 270px = 1010px
- Verteilung im Verhältnis 5 zu 3 auf Spalte zwei und drei:
- Spalte 2: 5 × (1010px / 8) ≈ 631px
- Spalte 3: 3 × (1010px / 8) ≈ 379px
Abstand zwischen Zellen: gap
Abschnitt betitelt „Abstand zwischen Zellen: gap“Genau wie bei Flexbox:
.page { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px;}Spalten wiederholen: repeat()
Abschnitt betitelt „Spalten wiederholen: repeat()“Für viele gleich breite Spalten müsst ihr sie nicht einzeln auflisten:
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); /* = 1fr 1fr 1fr */ gap: 12px;}beantwortet: 0 / 0 (0%)
richtig: 0 / 0 (0%)