CSS Les 3: Kleuren en tekst
Homeβ€ΊCSS-trackβ€ΊLes 3

πŸ–ŒοΈ Kleuren, eenheden en tekst

⏱ Geschatte leestijd: 25 minuten · 7 stappen

Kleuren en typografie zijn de twee zaken die het meest bepalen hoe een pagina aanvoelt. In deze les leer je alle kleurformaten, hoe je lettertypes instelt β€” inclusief Google Fonts β€” en hoe je de juiste eenheden kiest voor font-grootte.

1 Kleurformaten: named en hex

CSS kent vier manieren om kleuren op te schrijven. Ze zijn allemaal geldig; kies wat voor jou het duidelijkst is.

Named colors en hexadecimaal
/* Named colors β€” 140+ kleurnamen in CSS */
h1 { color: tomato; }
p  { color: steelblue; }
body { background-color: whitesmoke; }

/* Hexadecimaal β€” #RRGGBB of verkort #RGB */
h1 { color: #e55a00; }   /* oranje */
p  { color: #334155; }   /* donkerblauw */
a  { color: #2dd4bf; }   /* teal */

/* Verkorte notatie: #abc = #aabbcc */
.badge { background: #f0f; }  /* = #ff00ff = magenta */
#e55a00
#2dd4bf
#6366f1
#f43f5e

Wat betekent dit?

Een hex-kleur heeft zes tekens: twee voor rood (RR), twee voor groen (GG), twee voor blauw (BB). Elke waarde loopt van 00 (geen) tot ff (maximaal). #ff0000 is puur rood.

2 rgb() en hsl()

Twee andere kleurformaten die makkelijker aan te passen zijn dan hex.

rgb() en hsl() β€” meer leesbaar
/* rgb(rood, groen, blauw) β€” waarden 0-255 */
h1 { color: rgb(229, 90, 0); }       /* oranje */
body { background: rgb(245, 245, 245); } /* lichtgrijs */

/* rgba() β€” met transparantie (0 = onzichtbaar, 1 = vol) */
.overlay { background: rgba(0, 0, 0, 0.5); } /* 50% zwart */

/* hsl(tint, verzadiging, helderheid) */
h1 { color: hsl(24, 100%, 45%); }   /* oranje */
p  { color: hsl(220, 15%, 35%); }   /* grijsblauw */

/* hsla() β€” met transparantie */
.tip { background: hsla(160, 70%, 90%, 0.8); }

Voordeel rgb()

Direct de drie kleurkanalen instellen. Handig als je met kleurenwaarden van een design-tool werkt.

Voordeel hsl()

Makkelijk aanpassen: verander alleen de helderheid voor een lichtere/donkere tint van dezelfde kleur.

3 font-family en Google Fonts

Met font-family stel je het lettertype in. Altijd een "fallback" meegeeven β€” niet iedereen heeft hetzelfde lettertype geΓ―nstalleerd.

font-family met fallback-stack
/* Fallback-stack: eerste beschikbare wordt gebruikt */
body {
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
}

/* Systeemlettertypen β€” geen download nodig */
body {
  font-family: system-ui, -apple-system, sans-serif;
}

/* Google Fonts: voeg eerst de <link> toe in <head> */
/* <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet"> */
body {
  font-family: 'Inter', sans-serif;
}

πŸ’‘ Google Fonts geeft gratis toegang tot honderden lettertypes. Zoek op fonts.google.com, kies een lettertype en kopieer de <link>-tag naar je <head>. Daarna kun je het als font-family gebruiken.

4 font-size: px, rem en em

Drie veelgebruikte eenheden voor lettergrootte β€” elk met een ander referentiepunt.

px, rem en em vergeleken
/* px β€” vaste pixels, schaalt niet mee */
h1 { font-size: 32px; }

/* rem β€” relatief aan de root (<html>), standaard 16px */
h1 { font-size: 2rem; }    /* 2 Γ— 16 = 32px */
p  { font-size: 1rem; }    /* 1 Γ— 16 = 16px */
small { font-size: 0.875rem; } /* 14px */

/* em β€” relatief aan het PARENT-element */
.kaart {
  font-size: 18px;
}
.kaart p {
  font-size: 0.9em; /* 0.9 Γ— 18 = 16.2px */
}
Eenheid Relatief aan Gebruik wanneer
pxScherm pixelsBorders, shadows, vaste afmetingen
rem ⭐Root font-size (html)Font-sizes, spacing β€” gebruik dit het meest
emParent font-sizeComponenten die intern schalen

5 Tekststijlen: weight, line-height, align en decoration

Tekststijlen
p {
  font-weight: 400;      /* normal | bold | 100-900 */
  line-height: 1.6;      /* 1.5–1.8 is goed leesbaar */
  text-align: left;      /* left | center | right | justify */
  text-decoration: none; /* none | underline | line-through */
  letter-spacing: 0.02em; /* ruimte tussen letters */
  text-transform: uppercase; /* uppercase | lowercase | capitalize */
}

h1 {
  font-weight: 700;     /* bold */
  letter-spacing: -0.02em; /* iets dichter bij koppen */
}

a {
  text-decoration: none; /* haal standaard onderstreping weg */
}
a:hover {
  text-decoration: underline; /* terug bij hover */
}

Leestip: line-height

line-height: 1.6 betekent "1.6 keer de font-size". Voor bodytekst is 1.5–1.8 ideaal. Gebruik een getal zonder eenheid β€” dan schaalt het mee met de font-size.

6 Oefening 1: Kleuren en lettertype

Opdracht:

βœ“ Geef body een background-color met hsl() of rgb()

βœ“ Geef h1 een color in hexadecimaal (#...)

βœ“ Stel een font-family in op body

βœ“ Geef p een line-height van minstens 1.5

editor
Live preview

7 Oefening 2: Tekststijlen

Opdracht:

βœ“ Geef h1 een font-size in rem

βœ“ Geef h1 een font-weight van 700 of hoger

βœ“ Centreer de tekst in h1 met text-align: center

βœ“ Verwijder de onderstreping van links (text-decoration: none)

βœ“ Voeg een :hover effect toe aan de link

editor
Live preview

Kennischeck

4 vragen over kleuren en tekst.