๐ฒ Het grid systeem
โฑ Geschatte leestijd: 30 minuten ยท 7 stappen
Het Bootstrap-grid is het hart van het framework โ het is hoe je layouts bouwt die op elk scherm goed werken. Het systeem werkt met drie lagen: container โ row โ col. In deze les leer je hoe de 12 kolommen werken, hoe je breakpoints instelt en wat gutters zijn.
1 De drie lagen: container โ row โ col
Wat betekent dit?
Bootstrap's grid deelt de breedte van een pagina op in 12 gelijke kolommen. Jij bepaalt hoeveel kolommen elk element inneemt. col-6 = de helft (6 van de 12), col-4 = een derde, col-3 = een kwart.
Elke grid-layout volgt altijd dezelfde structuur:
<div class="container"> <!-- 1. Centreert en begrenst -->
<div class="row"> <!-- 2. Een rij van 12 kolommen -->
<div class="col-6"> <!-- 3. Neemt 6/12 = helft breedte -->
Linkerkolom
</div>
<div class="col-6"> <!-- 3. Neemt de andere 6/12 -->
Rechterkolom
</div>
</div>
</div>
๐ CSS-link: Bootstrap's grid is gebouwd op CSS Flexbox. row is display: flex; flex-wrap: wrap; en col-6 is flex: 0 0 50%; max-width: 50%;. Je herkent dit van de CSS-track โ Bootstrap heeft het voor jou uitgewerkt voor alle 12 stappen.
2 Kolom-breedtes โ de 12 stappen
Je kunt elke waarde van 1 t/m 12 gebruiken. De kolommen in een row moeten optellen tot 12 (anders loopt een kolom naar de volgende rij). Gebruik je alleen col zonder getal, verdeelt Bootstrap de ruimte automatisch gelijk.
<!-- Twee gelijke kolommen (6+6=12) -->
<div class="row">
<div class="col-6">Helft</div>
<div class="col-6">Helft</div>
</div>
<!-- Drie gelijke kolommen (4+4+4=12) -->
<div class="row">
<div class="col-4">Derde</div>
<div class="col-4">Derde</div>
<div class="col-4">Derde</div>
</div>
<!-- Automatische gelijke verdeling met col -->
<div class="row">
<div class="col">Auto</div>
<div class="col">Auto</div>
<div class="col">Auto</div>
</div>
<!-- Asymmetrisch: sidebar + inhoud (3+9=12) -->
<div class="row">
<div class="col-3">Sidebar</div>
<div class="col-9">Hoofdinhoud</div>
</div>
3 Breakpoints โ responsive kolommen
Wat betekent dit?
Een breakpoint is de schermbreedte waarop een layout verandert. Bootstrap werkt mobile-first: je begint met de mobiele layout en bepaalt dan hoe het eruitziet op grotere schermen.
| Prefix | Naam | Schermformaat | Typisch gebruik |
|---|---|---|---|
| col- | Extra small | < 576px | Altijd actief (mobiel) |
| col-sm- | Small | โฅ 576px | Grote telefoons |
| col-md- | Medium | โฅ 768px | Tablets |
| col-lg- | Large | โฅ 992px | Laptops |
| col-xl- | Extra large | โฅ 1200px | Desktops |
| col-xxl- | Extra extra large | โฅ 1400px | Brede schermen |
Je combineert meerdere breakpoints op รฉรฉn element. Het werkt altijd mobile-first: de kleinste specificatie geldt totdat de volgende breakpoint bereikt is.
<div class="row">
<!-- Mobiel: volledig breed
Tablet (md): half breed
Desktop (lg): een derde -->
<div class="col-12 col-md-6 col-lg-4">
Kaart
</div>
<div class="col-12 col-md-6 col-lg-4">
Kaart
</div>
<div class="col-12 col-md-6 col-lg-4">
Kaart
</div>
</div>
๐ CSS-link: dit is precies de mobile-first aanpak uit de CSS-track (les 8). In kale CSS schrijf je @media (min-width: 768px) { .col { width: 50%; } }. Bootstrap doet dit voor alle 12 kolombreedtes en alle 5 breakpoints โ dat zijn 60 media queries die je niet hoeft te schrijven.
4 Gutters โ ruimte tussen kolommen
Gutters zijn de ruimtes tussen kolommen. Bootstrap voegt ze toe via padding op de kolommen en negatieve margin op de rij. Je beheert ze met g-, gx- (horizontaal) en gy- (verticaal) klassen op de row.
<!-- Geen gutter -->
<div class="row g-0"> ... </div>
<!-- Kleine gutter (8px) -->
<div class="row g-2"> ... </div>
<!-- Standaard gutter (16px) -->
<div class="row g-3"> ... </div>
<!-- Grotere gutter (24px) -->
<div class="row g-4"> ... </div>
<!-- Alleen horizontaal (gx) of verticaal (gy) -->
<div class="row gx-5 gy-2"> ... </div>
5 Nesting โ grid in grid
Je kunt een row plaatsen binnen een kolom. De geneste rij heeft ook weer 12 kolommen โ maar dan relatief aan de breedte van de bovenliggende kolom.
<div class="container">
<div class="row">
<div class="col-8">
Hoofdinhoud (8/12)
<!-- Geneste rij binnen de 8-kolom -->
<div class="row mt-3">
<div class="col-6">Half van de 8-kolom</div>
<div class="col-6">Half van de 8-kolom</div>
</div>
</div>
<div class="col-4">Sidebar (4/12)</div>
</div>
</div>
6 Oefening 1: Bouw een drie-koloms grid
Opdracht:
โ Gebruik container, row en col- klassen
โ Eerste rij: twee gelijke kolommen (col-6)
โ Tweede rij: drie gelijke kolommen (col-4)
โ Voeg g-3 toe aan elke row voor ruimte
7 Oefening 2: Responsive grid met breakpoints
Opdracht:
โ Bouw een rij met 3 kaarten
โ Mobiel: elke kaart volledig breed (col-12)
โ Tablet en groter: twee naast elkaar (col-md-6)
โ Desktop en groter: drie naast elkaar (col-lg-4)
โ Voeg g-3 toe voor witruimte
Kennischeck
4 vragen โ test je begrip van het Bootstrap-grid.
๐
Les 2 voltooid!
Je begrijpt het 12-koloms grid, breakpoints en gutters. In les 3 leer je utility classes voor spacing, kleuren en display.
Bootstrap-track ยท Cheatsheet