๐ ๏ธ Utility classes
โฑ Geschatte leestijd: 30 minuten ยท 7 stappen
Utility classes zijn kleine, eendoelige CSS-klassen. In plaats van een klasse te schrijven die padding en kleur en uitlijning regelt, gebruik je drie aparte klassen. Dit maakt Bootstrap razendsnel in de praktijk: je hoeft bijna nooit custom CSS te schrijven voor eenvoudige layouts.
1 Spacing โ margin en padding
Het systeem
Spacing klassen volgen het patroon {eigenschap}{zijde}-{grootte}. Eigenschap: m (margin) of p (padding). Zijde: t top, b bottom, s start/links, e end/rechts, x horizontaal, y verticaal. Grootte: 0 t/m 5 (of auto).
| Klasse | CSS equivalent | Waarde |
|---|---|---|
| m-3 | margin: 1rem | 16px |
| mt-4 | margin-top: 1.5rem | 24px |
| mb-2 | margin-bottom: 0.5rem | 8px |
| ms-3 | margin-left: 1rem | 16px |
| me-2 | margin-right: 0.5rem | 8px |
| mx-auto | margin-left/right: auto | centreer horizontaal |
| py-5 | padding-top/bottom: 3rem | 48px |
| px-3 | padding-left/right: 1rem | 16px |
<!-- Knop met ruimte rechts voor de volgende knop -->
<button class="btn btn-primary me-2">Opslaan</button>
<button class="btn btn-secondary">Annuleren</button>
<!-- Sectie met verticale padding -->
<section class="py-5">
<div class="container">
<h2 class="mb-3">Kop met margin-bottom</h2>
<p class="mt-0">Paragraaf zonder marge bovenaan</p>
</div>
</section>
๐ CSS-link: m-3 = margin: 1rem, mt-4 = margin-top: 1.5rem. Bootstrap gebruikt een schaal van 0.25rem stappen: 0, 0.25rem, 0.5rem, 1rem, 1.5rem, 3rem voor de waarden 0โ5.
2 Kleuren โ tekst en achtergrond
Bootstrap heeft een vaste set semantische kleuren: primary (blauw), secondary (grijs), success (groen), danger (rood), warning (geel), info (cyaan), light en dark. Je gebruikt ze met text- of bg-.
<!-- Tekstkleur -->
<p class="text-primary">Blauw (primary)</p>
<p class="text-danger">Rood (danger)</p>
<p class="text-success">Groen (success)</p>
<p class="text-muted">Grijs (gedimde tekst)</p>
<!-- Achtergrondkleur + bijpassende tekstkleur -->
<div class="bg-primary text-white p-3">Blauw vlak</div>
<div class="bg-warning text-dark p-3">Geel vlak (donkere tekst!)</div>
<div class="bg-light text-dark p-3">Licht grijs vlak</div>
โ ๏ธ Let op: bg-warning en bg-info zijn lichte kleuren โ gebruik dan text-dark voor leesbaarheid. Bij bg-primary, bg-danger, etc. gebruik je text-white.
3 Display utilities โ tonen, verbergen en flexbox
Bootstrap's display-utilities werken ook met breakpoints. Zo kun je elementen op mobiel verbergen maar op desktop tonen, of flexbox inschakelen zonder custom CSS.
<!-- Verbergen en tonen -->
<div class="d-none">Altijd verborgen</div>
<div class="d-none d-md-block">Verborgen op mobiel, zichtbaar vanaf md</div>
<div class="d-block d-lg-none">Zichtbaar op mobiel, verborgen vanaf lg</div>
<!-- Flexbox (je kent dit uit de CSS-track!) -->
<div class="d-flex justify-content-between align-items-center">
<span>Links</span>
<span>Rechts</span>
</div>
<!-- Flex met gap en wrap -->
<div class="d-flex flex-wrap gap-2">
<button class="btn btn-sm btn-primary">A</button>
<button class="btn btn-sm btn-secondary">B</button>
</div>
๐ CSS-link: d-flex justify-content-between is exact display: flex; justify-content: space-between;. d-none d-md-block is display:none met een media query die op 768px omzet naar display:block. Alles wat je kent โ Bootstrap heeft het als utility class.
4 Tekst-utilities
<!-- Uitlijning -->
<p class="text-start">Links uitgelijnd (standaard)</p>
<p class="text-center">Gecentreerd</p>
<p class="text-end">Rechts uitgelijnd</p>
<!-- Grootte en gewicht -->
<p class="fs-1">Heel groot (fs-1 = 2.5rem)</p>
<p class="fs-6">Klein (fs-6 = 1rem)</p>
<p class="fw-bold">Vet</p>
<p class="fw-light">Licht gewicht</p>
<p class="fst-italic">Cursief</p>
<!-- Afkappen met ellipsis -->
<p class="text-truncate" style="max-width:200px">
Lange tekst die wordt afgekapt...
</p>
<!-- Lead tekst (grotere introtekst) -->
<p class="lead">Introductietekst iets groter dan normaal</p>
5 Borders, rounded en shadow
<!-- Borders -->
<div class="border">Alle kanten</div>
<div class="border-top">Alleen boven</div>
<div class="border border-primary">Gekleurde border</div>
<!-- Afgeronde hoeken -->
<img class="rounded" ...> <!-- kleine radius -->
<img class="rounded-3" ...> <!-- grotere radius -->
<img class="rounded-circle" ...> <!-- perfect cirkel -->
<img class="rounded-pill" ...> <!-- pill-vorm -->
<!-- Schaduwen -->
<div class="shadow-sm">Kleine schaduw</div>
<div class="shadow">Standaard schaduw</div>
<div class="shadow-lg">Grote schaduw</div>
6 Oefening 1: Utility classes combineren
Opdracht:
โ Voeg py-5 toe aan de <section> (verticale padding)
โ Geef de kop text-center en mb-4
โ Geef de paragraaf text-muted en text-center
โ Voeg d-flex gap-3 justify-content-center mt-4 toe aan de knoppenwrapper
7 Oefening 2: Profielkaart met utilities
Opdracht: bouw deze profielkaart na met alleen utility classes
โ Witte achtergrond (bg-white), schaduw (shadow), afgerond (rounded-3), padding (p-4)
โ Avatar: een div met bg-primary rounded-circle d-flex align-items-center justify-content-center, breedte en hoogte 64px
โ Naam in fw-bold fs-5 mt-3 mb-1
โ Functie in text-muted small mb-3
โ Knop: btn btn-primary btn-sm rounded-pill
Kennischeck
4 vragen โ test je kennis van utility classes.
๐
Les 3 voltooid!
Je beheerst spacing, kleuren, display, tekst en borders met utility classes. In les 4 leer je de meest gebruikte componenten: knoppen, alerts, badges en cards.
Bootstrap-track ยท Cheatsheet