H5 - Kleur gebruiken
00 - Eén kleurenpalet en een achtergrond
Je ontwikkelt het kleurenpalet van dezelfde vier pagina’s en bewaart de kleuren in variabelen. De achtergrondafbeelding uit H2 krijgt cover; de inhoud blijft op leesbare vlakken staan. Geavanceerde kleurnotaties zijn herkenbaar als optionele proeven.
01 - Waar gebruik je kleur voor?
Met CSS kun je tekst, achtergronden, links, randen en accenten een kleur geven. Kleur helpt om een pagina duidelijker te maken, maar kleur is ook snel te veel.
colorbepaalt de tekstkleur.background-colorbepaalt de achtergrondkleur.border-colorbepaalt de kleur van een rand.text-decoration-colorkan de kleur van een onderstreping bepalen.
body {
background-color: white;
color: black;
}
a {
color: blue;
}
section {
background-color: lightyellow;
border: 2px solid gold;
}
Actie — Bouw verder
- Werk verder in dezelfde style.css. Kies voor je portfolio een tekstkleur, lichte pagina-achtergrond, witte of lichte inhoudsvlakken en één accentkleur.
- Pas de bestaande body-, kop- en linkregels aan; voeg geen concurrerende kleurregels onderaan toe.
- Bekijk alle pagina's. Houd de kleuren voorlopig eenvoudig; je gaat ditzelfde palet in de volgende items verfijnen.
02 - Verschillende manieren om kleur te schrijven
CSS kent meerdere manieren om kleuren te noteren. Ze doen uiteindelijk hetzelfde: ze beschrijven welke kleur de browser moet tonen.
- Kleurnaam: makkelijk leesbaar, maar beperkt.
- Hex-code: veel gebruikt in ontwerpen en websites.
- RGB: handig als je denkt in rood, groen en blauw.
- HSL: handig als je kleur wilt aanpassen met hue, saturation en lightness.
- OKLCH: moderne methode die beter aansluit op hoe mensen lichtheid en kleurverschil ervaren.
h1 {
color: red;
}
p {
color: #ff0000;
}
a {
color: rgb(255 0 0);
}
em {
color: hsl(0 100% 50%);
}
strong {
color: oklch(63% 0.25 29);
}
Voor beginners zijn kleurnamen en hex-codes prima. Als je later kleuren bewuster wilt aanpassen,
worden hsl() en oklch() interessanter.
Actie — Alleen oefenen
- Noteer je gekozen accentkleur en probeer diezelfde kleur achtereenvolgens als hex en RGB in je bestaande linkregel.
- Controleer dat een andere notatie dezelfde kleur kan opleveren; je hoeft niet bij elke notatie een nieuwe kleur te kiezen.
- Behoud daarna één notatie, bijvoorbeeld hex. Je bestaande palet blijft het uitgangspunt.
03 - Hex, RGB en transparantie
Hex en RGB zijn allebei gebaseerd op rood, groen en blauw. Bij RGB kun je ook makkelijk een transparantie toevoegen met een slash.
article {
background-color: #eeeeee;
color: #222222;
}
mark {
background-color: rgb(255 230 120);
color: rgb(40 30 0);
}
body {
background-color: rgb(0 0 0 / 50%);
}
#eeeeeeis een lichte grijstint.#222222is bijna zwart.rgb(0 0 0 / 50%)is zwart met 50 procent transparantie.
Actie — Alleen oefenen
- Geef een bestaande section tijdelijk een RGB-achtergrond met transparantie. Vergelijk 50% en 100% dekking boven de body-achtergrond.
- Herstel daarna een goed leesbare, dekkende achtergrond voor de inhoud.
- Je hoeft transparantie niet te gebruiken in je eindproduct. Behoud de gewone tekstkleur en je gekozen accent.
04 - HSL: kleur, verzadiging en lichtheid
HSL is vaak makkelijker te begrijpen dan RGB. Je kiest eerst de soort kleur en past daarna de verzadiging en lichtheid aan.
hstaat voor hue: de plek op de kleurencirkel.sstaat voor saturation: hoe fel of grijs de kleur is.lstaat voor lightness: hoe licht of donker de kleur is.
h1 {
color: hsl(220 80% 50%);
}
section {
background-color: hsl(220 80% 80%);
}
footer {
background-color: hsl(220 80% 25%);
color: white;
}
HSL is handig als je variaties wilt maken van dezelfde kleur.
Actie — Bouw verder
- Gebruik HSL om van je bestaande accent een donkerdere variant te kiezen: houd de kleurhoek gelijk en verlaag de lichtheid.
- Geef bestaande links die donkere variant bij
a:hover. Hover betekent dat de muis boven de link staat; laat de gewone link ook zonder hover herkenbaar. - Controleer gewone en hover-kleur. Bewaar beide gekozen kleuren voor de variabelen in item 7.
05 - Moderne CSS-kleur: OKLCH
oklch() is een moderne manier om kleur te schrijven. Deze methode werkt met
waargenomen lichtheid. Dat betekent dat het vaak voorspelbaarder voelt als je een kleur
lichter of donkerder maakt.
Lis lightness: de waargenomen lichtheid.Cis chroma: hoeveel kleur erin zit.His hue: de kleurhoek.
a {
color: oklch(60% 0.18 250);
}
a:hover {
color: oklch(52% 0.18 250);
}
Voor deze cursus hoef je oklch() nog niet uit je hoofd te kunnen gebruiken.
Het is vooral goed om te weten dat moderne CSS meer kan dan alleen kleurnamen en hex-codes.
Actie — Alleen oefenen
- Optionele verdieping: probeer de normale en donkere accentkleur met oklch op dezelfde link en hover-regel.
- Vergelijk het resultaat en leesbaarheid met je eerdere kleuren. Je hoeft deze notatie niet te onthouden.
- Herstel daarna je gekozen accent en donkere variant, of behoud bewust je goed werkende OKLCH-kleuren. Voeg geen tweede set botsende regels toe.
06 - Kleuren mengen met color-mix()
Met color-mix() kan CSS een nieuwe kleur maken door twee kleuren te mengen.
Dit is handig voor hover-kleuren, lichte achtergronden of subtiele randen.
article {
background-color: color-mix(in oklch, blue 10%, white);
border: 2px solid color-mix(in oklch, blue 35%, white);
}
in oklchvertelt in welke kleurruimte de browser moet mengen.blue 10%betekent dat er een klein beetje blauw wordt gebruikt.whitevult de rest van de mix aan.
Voor eenvoudige websites kun je prima eerst vaste kleuren gebruiken. Later kun je met
color-mix() kleuren slimmer afleiden van je hoofdkleur.
Actie — Alleen oefenen
- Optionele verdieping: maak tijdelijk met color-mix een lichte achtergrondvariant van je accent op één bestaande section.
- Vergelijk die met je eerdere achtergrondkleur. Verwijder de proefregel daarna of bewaar de gekozen kleur voor één variabele bij de volgende stap.
- Deze techniek is geen verplicht onderdeel van het eindproduct; de site mag vaste, zorgvuldig gekozen kleuren gebruiken.
07 - Kleuren bovenaan bewaren met variabelen
Als je dezelfde kleuren op meerdere plekken gebruikt, is het handig om ze bovenin je CSS-bestand op te slaan als variabelen. In CSS heten die custom properties.
:root {
--kleur-tekst: #17233b;
--kleur-achtergrond: #e7eef6;
--kleur-vlak: #ffffff;
--kleur-accent: #2458d3;
--kleur-accent-donker: #183b91;
--kleur-rand: #d3ddec;
}
body {
background-color: var(--kleur-achtergrond);
color: var(--kleur-tekst);
}
header, nav, main, aside, footer {
background-color: var(--kleur-vlak);
}
p {
color: var(--kleur-tekst);
}
a {
color: var(--kleur-accent);
}
a:hover {
color: var(--kleur-accent-donker);
}
- Je hoeft een kleur maar op één plek aan te passen.
- Je CSS wordt overzichtelijker.
- Je voorkomt dat er overal net iets andere kleuren ontstaan.
Actie — Bouw verder
- Zet je gekozen palet bovenaan dezelfde style.css in :root:
--kleur-tekst,--kleur-achtergrond,--kleur-vlak,--kleur-accent,--kleur-accent-donkeren--kleur-rand. - Vervang de bestaande vaste kleuren door var-verwijzingen. Gebruik de donkere accentkleur ook voor a:hover. Voor kleur-rand kies je een rustige lichte tint; de randen volgen in H6.
- Verander alleen de accentvariabele en controleer dat alle verwijzingen op de vier pagina's mee veranderen. Kies daarna je definitieve accent.
- Bewaar deze namen voor de volgende hoofdstukken. Houd bestaande lettertypes en inhoud in stand.
08 - Contrast: tekst moet leesbaar zijn
Mooie kleuren zijn niet genoeg. Tekst moet goed leesbaar blijven. Contrast is het verschil tussen tekstkleur en achtergrondkleur.
- Zwarte tekst op wit heeft veel contrast.
- Lichtgrijze tekst op wit heeft weinig contrast.
- Rode tekst op een blauwe achtergrond is vaak onrustig en moeilijk leesbaar.
- Gebruik kleur niet als enige manier om informatie over te brengen.
/* Goed leesbaar */
body {
background-color: white;
color: black;
}
/* Vaak te weinig contrast */
p {
background-color: white;
color: lightgray;
}
Een veelgebruikte richtlijn is: normale tekst heeft minimaal een contrastverhouding van 4.5:1 nodig. Grote tekst heeft minimaal 3:1 nodig.
Kies hier twee kleuren om het contrast te controleren.
Contrast: 21:1 Goed voor normale tekst en grote tekst.
Actie — Controleer en rond af
- Controleer met het contrastgereedschap hierboven je eigen tekst/vlak-, link/vlak- en hover/vlak-combinaties.
- Verbeter bij onvoldoende contrast de bijbehorende variabele in :root. Controleer gewone tekst en grote koppen afzonderlijk.
- Laat onderstreping bij gewone tekstlinks staan. Een kleurverschil alleen is niet genoeg om een link duidelijk te maken.
09 - Achtergrond van de body
Je project heeft sinds H2 een achtergrondafbeelding in www/img. Omdat style.css naast de HTML-bestanden staat, is het pad vanuit de stylesheet img/achtergrond.webp. CSS-paden beginnen bij het CSS-bestand.
body {
background-color: var(--kleur-achtergrond);
background-image: url("img/achtergrond.webp");
background-position: center;
background-size: cover;
}
header, nav, main, aside, footer {
background-color: var(--kleur-vlak);
}
- De fallback-kleur blijft zichtbaar als de afbeelding niet kan laden.
- Cover vult het achtergrondvlak; daarbij kan een deel van de afbeelding buiten beeld vallen.
- Center houdt het midden van de afbeelding in beeld. Kies een rustig beeld dat ook uitgesneden werkt.
- Dekkende inhoudsvlakken houden tekst leesbaar boven de afbeelding.
- Een achtergrond met
background-attachment: fixedblijft staan tijdens scrollen. Dat is optioneel; onze eindsite heeft die instelling niet nodig.
Actie — Bouw verder
- Gebruik de achtergrondafbeelding die al in www/img staat. Geef body een fallback via
background-color: var(--kleur-achtergrond);en eenbackground-image: url("img/achtergrond.webp");. - Voeg
background-size: cover;enbackground-position: center;toe. Het pad begint bij style.css, die naast de HTML-bestanden staat. - Geef header, nav, main, aside en footer een dekkende achtergrond via
var(--kleur-vlak), zodat tekst boven de afbeelding leesbaar blijft. - Controleer het uitsnijden bij een breed en smal venster. Test tijdelijk een verkeerde afbeeldingsnaam, controleer de fallback en herstel daarna direct het juiste pad.
- De afbeelding en cover blijven in het eindproduct. Je hoeft background-attachment:fixed niet te gebruiken.
10 - Afronding van je bestaande site
Actie — Controleer en rond af
- Werk het kleurenpalet van de bestaande vier pagina's af; maak geen nieuw HTML- of CSS-bestand.
- Controleer dat blijvende kleuren uit de zes variabelen komen en dat tekst, links en hover leesbaar zijn.
- Controleer de achtergrondafbeelding, cover en fallback. Verwijder ongebruikte kleurproeven.
- Bewaar de werkende site: H6 bouwt hier ruimte en randen aan toe.
:root {
--kleur-tekst: #17233b;
--kleur-achtergrond: #e7eef6;
--kleur-vlak: #ffffff;
--kleur-accent: #2458d3;
--kleur-accent-donker: #183b91;
--kleur-rand: #d3ddec;
}
Quiz
-
Vraag 1. Welke CSS-property bepaalt de tekstkleur?
Goed.colorbepaalt de tekstkleur.Niet goed. De property heetcolor. -
Vraag 2. Welke notatie is een hex-kleur?
Goed. Hex-kleuren beginnen met een hekje.Niet goed. Een hex-kleur begint met#. -
Vraag 3. Waarvoor staat de
Linhsl()?
Goed. DeLstaat voor lightness.Niet goed. DeLstaat voor lightness. -
Vraag 4. Wat is een voordeel van CSS-variabelen?
Goed. Variabelen maken centrale aanpassingen makkelijker.Niet goed. Variabelen helpen vooral om waarden centraal te bewaren. -
Vraag 5. Hoe gebruik je een CSS-variabele?
Goed. CSS gebruiktvar().Niet goed. Je gebruiktvar(--naam). -
Vraag 6. Waarom is contrast belangrijk?
Goed. Contrast gaat vooral over leesbaarheid.Niet goed. Contrast is nodig om tekst goed te kunnen lezen. -
Vraag 7. Welke moderne CSS-functie kan kleuren mengen?
Goed. De functie heetcolor-mix().Niet goed. De moderne CSS-functie heetcolor-mix(). -
Vraag 8. Welke kleur heeft waarschijnlijk het meeste contrast op een witte achtergrond?
Goed. Zwart op wit heeft veel contrast.Niet goed. Zwart heeft op wit veel meer contrast dan wit of lichtgrijs. -
Vraag 9. Waar zet je kleurvariabelen meestal neer?
Goed.:rootis een logische plek voor algemene variabelen.Niet goed. Algemene kleurvariabelen zet je vaak in:root. -
Vraag 10. Wat is
oklch()?
Goed.oklch()is een moderne CSS-kleurfunctie.Niet goed.oklch()is een CSS-manier om kleur te noteren.