๐ ฑ๏ธ Wat is Bootstrap en hoe begin je
โฑ Geschatte leestijd: 25 minuten ยท 6 stappen
Je kent CSS โ je weet hoe selectors werken, hoe het box model werkt en hoe flexbox layouts maakt. Bootstrap bouwt daarop voort: het is een grote verzameling kant-en-klare CSS-regels die je via รฉรฉn link toevoegt. In deze les leer je wat Bootstrap precies doet, hoe je het laadt via een CDN en bouw je je eerste werkende Bootstrap-pagina.
1 Wat is een CSS-framework?
Wat betekent dit?
Een CSS-framework is een verzameling kant-en-klare stijlregels die je in je project kunt gebruiken. In plaats van zelf alles te schrijven, voeg je de juiste class-namen toe aan je HTML en het framework doet de rest.
Stel je voor: je wil een mooie knop maken. In kale CSS zou je dit moeten schrijven:
button {
background-color: #0d6efd;
color: white;
border: none;
padding: 8px 16px;
border-radius: 4px;
font-size: 1rem;
cursor: pointer;
transition: background .15s;
}
button:hover {
background-color: #0b5ed7;
}
<button class="btn btn-primary">
Klik hier
</button>
Bootstrap levert die CSS al mee. Jij hoeft alleen de juiste class-naam te kennen.
Metafoor: LEGO vs plastic smelten
Kale CSS schrijven is als zelf plastic smelten en gieten om je eigen LEGO-blokken te maken. Bootstrap is een doos kant-en-klare LEGO-blokken โ je pakt de stukken die je nodig hebt en bouwt er iets van. Je kunt nog steeds eigen stukken maken (custom CSS), maar je begint niet bij nul.
Voordelen en nadelen
| Voordelen | Nadelen |
|---|---|
| โ Snel resultaat โ mooie UI in minuten | โ "Bootstrap-look" โ veel sites lijken op elkaar |
| โ Responsive out-of-the-box | โ Extra CSS die je misschien niet gebruikt |
| โ Consistentie โ alles past bij elkaar | โ Minder controle over elk detail |
| โ Grote community, veel documentatie | โ Veel class-namen onthouden |
Bootstrap 5 vs Bootstrap 4: we gebruiken Bootstrap 5 โ de huidige stabiele versie. Bootstrap 4 lijkt er erg op, maar gebruikt nog jQuery als afhankelijkheid en heeft andere class-namen (bijv. mr- in plaats van me-). Wie Bootstrap 5 kent, kan Bootstrap 4 snel oppakken.
2 Bootstrap inladen via CDN
Wat betekent dit?
Een CDN (Content Delivery Network) is een server die bestanden wereldwijd snel levert. In plaats van Bootstrap te downloaden en in je project te zetten, link je rechtstreeks naar de CDN. Geen installatie, geen buildstap โ gewoon een <link>-tag en je bent klaar.
Bootstrap bestaat uit twee onderdelen: de CSS (voor de opmaak) en de JavaScript (voor interactieve componenten zoals modals en dropdowns). De CSS laad je altijd โ de JS heb je alleen nodig als je die componenten gebruikt.
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mijn Bootstrap pagina</title>
<!-- Bootstrap CSS โ altijd in de <head> -->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1>Hallo Bootstrap!</h1>
<button class="btn btn-primary">Klik mij</button>
</div>
<!-- Bootstrap JS โ optioneel, vรณรณr </body> -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
viewport meta
Verplicht voor responsive design. Bootstrap's grid werkt niet correct zonder dit.
bootstrap.min.css
De CSS van Bootstrap โ bevat alle klassen voor grid, componenten en utilities.
bootstrap.bundle.min.js
JS voor modals, dropdowns, accordions. "Bundle" bevat ook Popper.js โ geen aparte imports nodig.
De container-klasse
Bijna elke Bootstrap-pagina begint met een container. Dit is een wrapper die je inhoud centreert en een maximale breedte geeft, afhankelijk van het scherm.
container โ vaste maximale breedte<!-- Inhoud wordt gecentreerd
met padding aan de zijkanten -->
<div class="container">
...
</div>
container-fluid โ volle breedte<!-- Volle breedte,
altijd 100% breed -->
<div class="container-fluid">
...
</div>
๐ CSS-link: container is in kale CSS equivalent aan max-width: 1320px; margin: 0 auto; padding: 0 12px; โ precies wat je in de CSS-track hebt geleerd voor het centreren van secties. Bootstrap doet dit voor je.
3 Bootstrap in actie โ knoppen en tekst
Bekijk het verschil tussen een pagina zonder en met Bootstrap. Zelfde HTML, maar met Bootstrap-classes:
De knop-klassen
Elke Bootstrap-knop heeft twee klassen: btn (de basisstijl) + een variant (btn-primary, btn-danger, etc.).
<!-- Gevulde knoppen -->
<button class="btn btn-primary">Primair</button>
<button class="btn btn-secondary">Secundair</button>
<button class="btn btn-success">Succes</button>
<button class="btn btn-danger">Gevaarlijk</button>
<button class="btn btn-warning">Waarschuwing</button>
<!-- Omrande knoppen (outline) -->
<button class="btn btn-outline-primary">Primair outline</button>
<button class="btn btn-outline-danger">Gevaar outline</button>
<!-- Maten -->
<button class="btn btn-primary btn-lg">Groot</button>
<button class="btn btn-primary btn-sm">Klein</button>
๐ CSS-link: btn-primary stelt Bootstrap's blauwe kleur in (#0d6efd), met border-radius, padding en een hover-effect via transition. Dit is alles wat je in de CSS-track hebt geleerd โ Bootstrap heeft het al voor je geschreven.
4 Oefening 1: Voeg Bootstrap-classes toe
Opdracht:
Bootstrap is al ingeladen. Voeg de juiste klassen toe:
โ Wikkel de inhoud in een container
โ Maak de eerste knop btn btn-primary
โ Maak de tweede knop btn btn-outline-danger
โ Maak de derde knop btn btn-success btn-lg
5 Oefening 2: Bouw je eerste Bootstrap-pagina
Opdracht:
Schrijf een complete Bootstrap-pagina vanuit het skelet:
โ Bootstrap CDN al ingeladen โ voeg de juiste class-namen toe
โ Gebruik container als wrapper
โ Voeg minstens 4 knoppen toe met verschillende varianten
โ Voeg text-muted toe aan de paragraaf
โ Gebruik me-2 (margin-end: ruimte rechts) tussen knoppen
6 Kennischeck
4 vragen โ test je begrip van deze les.
๐
Les 1 voltooid!
Je weet wat Bootstrap is, hoe je het via CDN inlaadt, wat een container doet en hoe de knop-klassen werken. In les 2 leer je het 12-koloms gridsysteem.
Bootstrap-track ยท Cheatsheet