In de vorige les heb je ontdekt wat CSS is en waarom we de inhoud (HTML) en de vormgeving (CSS) van een website strikt gescheiden houden. Maar hoe weet de browser nu welke CSS-stijlen bij welke HTML-pagina horen?
In deze les leer je hoe je met het <link> element een extern CSS-bestand correct koppelt aan je HTML-document. We bekijken de drie manieren om CSS toe te voegen, waarom externe stylesheets de absolute standaard zijn in webdesign, en hoe je veelgemaakte fouten met bestandspaden voorkomt.
Er bestaan in HTML drie verschillende manieren om CSS-stijlen toe te voegen aan een pagina. Hoewel ze allemaal werken, is er maar één manier die in de professionele praktijk gebruikt wordt.
Je plaatst de CSS-code rechtstreeks in de openingstag via het style-attribuut.
<!-- ❌ NIET GEBRUIKEN: Maakt je HTML-code onoverzichtelijk en onherbruikbaar -->
<h1 style="color: blue; font-size: 24px;">Welkom op mijn pagina</h1>
<head> van de pagina)Je plaatst de CSS-code binnenin een <style> element in de <head> van je HTML-document.
<!-- ⚠️ BEPERKT GEBRUIKEN: Enkel handig voor snelle tests op één enkele pagina -->
<head>
<style>
h1 {
color: blue;
font-size: 24px;
}
</style>
</head>
.css bestand) — DE STANDAARD!Je schrijft al je CSS-code in een afzonderlijk bestand (bijvoorbeeld style.css) en koppelt dit bestand via één regel HTML-code in de <head>.
<!-- ✅ PROFESSIONELE STANDAARD: Schone HTML, herbruikbaar over de hele website -->
<head>
<link rel="stylesheet" href="styles/style.css">
</head>
style.css, dan verandert deze direct op elke pagina!<link> element ontleedOm een extern CSS-bestand te koppelen, gebruiken we de <link> tag in het <head> gedeelte van de HTML-pagina.
<link rel="stylesheet" href="styles/style.css">
Het <link> element is een lege tag (void element) zonder sluitingstag. Het heeft twee verplichte attributen:
rel="stylesheet"rel-attribuut geeft de relatie aan tussen het HTML-document en het gekoppelde bestand. Met de waarde "stylesheet" vertel je de browser dat het om een CSS-stijlblad gaat.
href="styles/style.css"href-attribuut (Hypertext Reference) bevat het relatieve bestandspad naar jouw CSS-bestand.
Tip: De<link>tag hoort altijd thuis in het<head>element van je HTML-document, vlak boven de sluitingstag</head>. Zo kan de browser de stijlen direct inladen voordat hij de pagina op het scherm opbouwt!
Zoals je weet uit de les over mappenstructuur, bewaren we CSS-bestanden netjes in een submap zoals styles/ of css/. Het pad dat je invult in het href-attribuut hangt af van waar jouw HTML-bestand staat.
Webproject/
├── index.html
├── pages/
│ └── over-ons.html
└── styles/
└── main.css
index.html)Je werkt in index.html (in de hoofdmap) en wilt linken naar main.css in de map styles/:
<!-- Ga de map 'styles' in en pak het bestand 'main.css' -->
<link rel="stylesheet" href="styles/main.css">
pages/over-ons.html)Je werkt in pages/over-ons.html. Je moet nu vanuit de map pages/ eerst één map omhoog naar de hoofdmap, en vervolgens de map styles/ in!
<!-- Ga één map omhoog (../), ga dan naar 'styles' en pak 'main.css' -->
<link rel="stylesheet" href="../styles/main.css">
Opgelet: Een van de meest voorkomende redenen waarom CSS "niet werkt", is een verkeerd geschreven bestandspad in het href-attribuut!
Laten we een compleet project opzetten om te zien hoe de koppeling werkt:
index.html<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mijn Eerste CSS Koppeling</title>
<!-- Externe CSS koppeling -->
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<main class="container">
<h1>Grafische Technieken</h1>
<p>Als de koppeling is gelukt, krijgt deze pagina een mooie vormgeving!</p>
</main>
</body>
</html>
styles/style.css/* Stijlen voor de achtergrond en typografie */
body {
background-color: #f8fafc;
font-family: Arial, Helvetica, sans-serif;
color: #1e293b;
margin: 0;
padding: 40px;
}
/* Stijl voor de titel */
h1 {
color: #2563eb;
border-bottom: 2px solid #2563eb;
padding-bottom: 8px;
}
/* Stijl voor een inhoudsbox */
.container {
background-color: #ffffff;
padding: 24px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
Zie je na het opslaan en verversen geen enkele verandering op je scherm? Check dan dit handige controlelijstje:
<link> tag wel in de <head>? Zorg ervoor dat de tag niet per ongeluk in de <body> staat.style.css of styles.css? Is de map styles/ of css/?rel="stylesheet" vergeten? Zonder dit attribuut weet de browser niet wat voor type bestand hij moet inladen.Ctrl + S (Windows) of Cmd + S (Mac).Ctrl + F5 (Windows) of Cmd + Shift + R (Mac) om de pagina geforceerd opnieuw te laden.<link rel="stylesheet" href="pad/naar/bestand.css">.
<link> tag altijd in de <head> van je HTML-document.../ als je vanuit een submap één niveau omhoog moet navigeren.