Gridrijen en automatische plaatsing
Definieer expliciete rijen met grid-rows-*, bepaal automatische plaatsing met grid-flow-* en laat de browser items intelligent plaatsen.
Gridrijen en automatische plaatsing is een gratis Tailwind CSS Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Tailwind CSS Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Tailwind CSS Academy bevat in totaal 4 lessen.
Expliciete en impliciete rasterrijen
Wanneer je items in een raster plaatst, maakt CSS Grid op twee manieren rijen aan: expliciet (je definieert ze met grid-rows-*) of impliciet (de browser genereert ze automatisch wanneer items buiten het raster lopen). Als je dit onderscheid begrijpt, kun je hoogtes nauwkeurig instellen wanneer dat nodig is, of de browser het laten afhandelen wanneer je inhoud een variabele grootte heeft.
<!-- Explicit 3-row grid -->
<div class="grid grid-rows-3 grid-cols-2 gap-4 h-48">
<div class="bg-blue-100 p-3">Row 1, Col 1</div>
<div class="bg-blue-100 p-3">Row 1, Col 2</div>
<div class="bg-blue-200 p-3">Row 2, Col 1</div>
<div class="bg-blue-200 p-3">Row 2, Col 2</div>
<div class="bg-blue-300 p-3">Row 3, Col 1</div>
<div class="bg-blue-300 p-3">Row 3, Col 2</div>
</div>De hulpprogramma's grid-rows-N
Tailwind biedt grid-rows-1 tot en met grid-rows-6 om expliciete rijsporen te definiëren. Onder de motorkap wordt grid-rows-3 gecompileerd naar grid-template-rows: repeat(3, minmax(0, 1fr)). Deze rijen verdelen de beschikbare hoogte van de container gelijk. Dit is vooral nuttig wanneer de container een vaste hoogte of een hoogte op basis van een percentage heeft.
<!-- 4 equal rows in a fixed-height dashboard -->
<div class="grid grid-rows-4 gap-2 h-64">
<div class="bg-emerald-100 p-2 rounded">Section 1</div>
<div class="bg-emerald-200 p-2 rounded">Section 2</div>
<div class="bg-emerald-300 p-2 rounded">Section 3</div>
<div class="bg-emerald-400 p-2 rounded">Section 4</div>
</div>Impliciete rijen en grid-auto-rows
Wanneer er meer items zijn dan je expliciete rijen kunnen bevatten, maakt de browser impliciete rijen aan. Standaard krijgen deze impliciete rijen een hoogte die bij hun inhoud past. Je kunt hun hoogte beheren met aangepaste CSS of de syntaxis voor willekeurige waarden van Tailwind. Je kunt bijvoorbeeld de rijhoogte instellen via een inline stijl of de hulpprogramma's auto-rows-* gebruiken, die in nieuwere versies van Tailwind beschikbaar zijn.
<!-- Implicit rows kick in for items beyond grid-rows-2 -->
<div class="grid grid-cols-2 grid-rows-2 gap-3" style="grid-auto-rows: 80px">
<div class="bg-purple-100 p-3">Explicit row 1</div>
<div class="bg-purple-100 p-3">Explicit row 1</div>
<div class="bg-purple-200 p-3">Explicit row 2</div>
<div class="bg-purple-200 p-3">Explicit row 2</div>
<!-- These create implicit rows at 80px height -->
<div class="bg-purple-300 p-3">Implicit row</div>
<div class="bg-purple-300 p-3">Implicit row</div>
</div>grid-flow begrijpen
De eigenschap grid-flow bepaalt het algoritme voor automatische plaatsing: de volgorde waarin items beschikbare rastercellen vullen. Tailwinds grid-flow-row (de standaardwaarde) vult elke rij van links naar rechts voordat het naar beneden gaat. grid-flow-col vult elke kolom van boven naar beneden voordat het naar rechts gaat. Dit lijkt op het verschil tussen een boek van links naar rechts lezen en een krant kolom voor kolom lezen.
<!-- Row flow (default): items fill horizontally -->
<div class="grid grid-cols-3 grid-flow-row gap-3">
<div class="bg-sky-100 p-3">1</div>
<div class="bg-sky-100 p-3">2</div>
<div class="bg-sky-100 p-3">3</div>
<div class="bg-sky-100 p-3">4</div>
</div>grid-flow-col voor een kolomgerichte indeling
Met grid-flow-col verandert het algoritme voor automatische plaatsing, zodat kolommen eerst worden gevuld. In combinatie met grid-rows-* om te beperken hoe hoog elke kolom kan worden, ontstaat een verticale stroom van kaarten in kranten- of Pinterest-stijl. Items worden in de eerste kolom naar beneden geplaatst en lopen daarna automatisch over naar de volgende kolom.
<!-- Column-first flow: items fill downward in each column -->
<div class="grid grid-rows-3 grid-flow-col gap-3">
<div class="bg-rose-100 p-3">Col 1, Row 1</div>
<div class="bg-rose-100 p-3">Col 1, Row 2</div>
<div class="bg-rose-100 p-3">Col 1, Row 3</div>
<div class="bg-rose-200 p-3">Col 2, Row 1</div>
<div class="bg-rose-200 p-3">Col 2, Row 2</div>
<div class="bg-rose-200 p-3">Col 2, Row 3</div>
</div>Dichte automatische plaatsing
grid-flow-dense activeert het algoritme voor dicht inpakken, waarmee de browser gaten kan opvullen die grote items met meerdere sporen achterlaten. Zonder dicht inpakken laat een raster met items die meerdere sporen beslaan gaten open, omdat de plaatsing strikt geordend is. Dicht inpakken is ideaal voor afbeeldingsgalerijen waarin je een compact mozaïek zonder verspilde ruimte wilt.
<!-- Dense packing fills holes left by spanning items -->
<div class="grid grid-cols-3 grid-flow-dense gap-3">
<div class="col-span-2 bg-amber-200 p-3">Wide (spans 2)</div>
<div class="bg-amber-100 p-3">B</div>
<div class="bg-amber-100 p-3">C</div>
<!-- D would normally go after C, but dense fills the hole before B -->
<div class="bg-amber-100 p-3">D</div>
</div>Rij- en kolomstroom beide dicht maken
Je kunt de stroomrichting en dichtheid combineren met grid-flow-row-dense of grid-flow-col-dense. De variant row-dense vult eerst rijen en vult daarna eventuele gaten op, terwijl col-dense eerst kolommen vult en daarna gaten opvult. Dit zijn de aangewezen hulpprogramma's voor indelingen in galerijstijl met kaarten van verschillende afmetingen, wanneer uitstraling belangrijker is dan een strikt vaste volgorde.
<!-- Row-dense: fills rows first, packs holes -->
<div class="grid grid-cols-4 grid-flow-row-dense gap-3">
<div class="col-span-3 bg-teal-300 p-3">Spans 3</div>
<div class="bg-teal-100 p-3">A</div>
<div class="bg-teal-100 p-3">B</div>
<div class="col-span-2 bg-teal-200 p-3">Spans 2</div>
<div class="bg-teal-100 p-3">C</div>
</div>Rasterrijen en -kolommen combineren
Als je zowel grid-rows-* als grid-cols-* definieert, krijg je een volledig gespecificeerd raster, vergelijkbaar met een spreadsheet. Elke cel in dit raster heeft een voorspelbare positie. Deze aanpak werkt uitstekend voor dashboardindelingen waarbij je precies weet hoeveel onderdelen je nodig hebt en nauwkeurige controle wilt over hun hoogte en breedte.
<!-- 3-col x 2-row dashboard shell -->
<div class="grid grid-cols-3 grid-rows-2 gap-4 h-64">
<div class="col-span-3 bg-slate-700 text-white p-3 rounded">Header</div>
<div class="bg-slate-100 p-3 rounded">Widget 1</div>
<div class="bg-slate-100 p-3 rounded">Widget 2</div>
<div class="bg-slate-100 p-3 rounded">Widget 3</div>
</div>Aangepaste rijhoogten met willekeurige waarden
Met de syntaxis voor willekeurige waarden van Tailwind kunt je elke CSS-waarde tussen vierkante haken schrijven. Voor rasterrijen kun je grid-rows-[100px_1fr_auto] gebruiken om een vaste koptekst van 100 px, een flexibel inhoudsgebied en een voettekst met automatische hoogte te definiëren. Dit is beknopter dan inline stijlen schrijven en profiteert van JIT-compilatie naar je productie-CSS.
<!-- Custom row heights: 60px header, flexible main, auto footer -->
<div class="grid h-screen" style="grid-template-rows: 60px 1fr auto">
<header class="bg-gray-900 text-white flex items-center px-6">
App Header
</header>
<main class="bg-gray-50 p-6 overflow-y-auto">
Main scrollable content
</main>
<footer class="bg-gray-800 text-white p-4 text-center">
Footer
</footer>
</div>Automatische rijen in de praktijk
Bij het bouwen van rasters met kaarten en dynamische inhoud wil je vaak uniforme minimale rijhoogten, zodat korte kaarten niet in het niet vallen. Met grid-auto-rows via een inline stijl of Tailwinds willekeurige JIT-variant [grid-auto-rows:200px] zorg je ervoor dat elke rij minstens zo hoog is als nodig. Zo voorkom je storende hoogteverschillen in lijsten die door gegevens worden aangestuurd.
<!-- Cards with minimum row height for visual consistency -->
<div class="grid grid-cols-3 gap-4" style="grid-auto-rows: minmax(120px, auto)">
<div class="bg-indigo-100 p-4 rounded">Short card</div>
<div class="bg-indigo-100 p-4 rounded">
<p>Longer card with</p>
<p>more content</p>
<p>filling it out</p>
</div>
<div class="bg-indigo-100 p-4 rounded">Short</div>
</div>Praktische app-shell met Grid
Hier komt alles samen in een volledige applicatiestructuur die CSS Grid gebruikt voor de buitenste indeling. De grid-rows definiëren de hoogten van koptekst, inhoud en voettekst. Binnen de inhoudsrij verdeelt een genest patroon, grid-cols-[sidebar_main], het scherm. Deze aanpak is overzichtelijk en voorspelbaar en vereist geen absolute positionering of flexboxtrucs voor de structuur op het hoogste niveau.
<div class="grid h-screen" style="grid-template-rows: 56px 1fr 40px">
<header class="bg-indigo-700 text-white px-6 flex items-center">
My App
</header>
<div class="grid overflow-hidden" style="grid-template-columns: 240px 1fr">
<nav class="bg-indigo-50 p-4 overflow-y-auto border-r">
Sidebar nav
</nav>
<main class="p-6 overflow-y-auto">
Page content
</main>
</div>
<footer class="bg-gray-200 text-center text-sm flex items-center justify-center">
Copyright 2024
</footer>
</div>Korte controle
Toets je begrip van de concepten uit Tailwind CSS Mastery in deze les.
Samenvatting van de les
In deze les heb je geleerd: grid-rows-* definieert expliciete rijsporen met gelijke hoogten, grid-flow-row en grid-flow-col bepalen de plaatsingsrichting en grid-flow-dense vult gaten op die door items met overspanning zijn achtergelaten. Hierna bekijken we hulpprogramma's voor tussenruimte en uitlijning binnen rastercontainers.
Leer HTML met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Gridrijen en automatische plaatsing” gratis?
Ja — de volledige tekst van “Gridrijen en automatische plaatsing” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Tailwind CSS Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Tailwind CSS Academy bevat in totaal 4 lessen.
Wat leer ik in “Gridrijen en automatische plaatsing”?
Definieer expliciete rijen met grid-rows-*, bepaal automatische plaatsing met grid-flow-* en laat de browser items intelligent plaatsen. Je oefent met Tailwind CSS Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Tailwind CSS Academy te beginnen?
Ervaring vooraf is niet nodig. Tailwind CSS Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Gridrijen en automatische plaatsing”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Tailwind CSS Academy?
Ja. Elke les over Tailwind CSS Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Gridkolommen definiëren
- Kolommen en rijen overspannen
- Gridrijen en automatische plaatsing
- Ruimte, uitlijning en positionering in een grid