Kleur is een van de krachtigste elementen binnen grafisch ontwerp. Kleuren roepen emotie op, trekken de aandacht van de bezoeker en bepalen de sfeer van een website. Als student Grafische Technieken weet je dat de juiste kleurkeuze het verschil maakt tussen een amateuristische en een professionele uitstraling.
In deze les leer je hoe je kleuren in CSS definieert op vier verschillende manieren (kleurnamen, Hex-codes, RGB en HSL) en hoe je met background-color en background-image de achtergrond van elementen stijlvol vormgeeft.
In CSS kun je exact dezelfde kleur op meerdere manieren opschrijven. Elk kleurmodel heeft zijn eigen voor- en nadelen.
CSS kent 147 ingebouwde kleurnamen, zoals red, blue, coral, seagreen of hotpink. Daarnaast is er de speciale waarde transparent (volledig doorschijnend).
p {
color: crimson;
}
Nadeel: Het aanbod van kleurnamen is beperkt. Je kunt hiermee niet de exacte merkkleur van een huisstijl instellen.
Hex-codes zijn de meest gebruikte kleurnotatie in de grafische sector en webdesign. Een Hex-code begint altijd met een hekje (#) gevolgd door 6 tekens (combinaties van de cijfers 0–9 en de letters A–F).
De 6 tekens zijn opgebouwd uit drie paren voor Rood, Groen en Blauw (RRGGBB):
#FF0000 = Maximaal rood, geen groen, geen blauw (Zuiver rood)#000000 = Zwart#FFFFFF = Wit#3b82f6 = Een moderne blauwe tinth1 {
color: #2563eb; /* Hex-code voor helderblauw */
}
Tip: Is elk paar dubbel (zoals#FF0011)? Dan mag je dit verkorten tot 3 tekens:#F01.
Het RGB-model gebruikt lichtmengeling. Je geeft per kleurkanaal (Rood, Groen, Blauw) een waarde op van 0 tot 255.
Met RGBA voeg je een vierde waarde toe: het Alpha-kanaal (transparantie). Deze waarde loopt van 0.0 (volledig onzichtbaar) tot 1.0 (volledig dekkend).
/* Standaard RGB */
.header-titel {
color: rgb(37, 99, 235);
}
/* RGBA met 50% transparantie */
.overlay {
background-color: rgba(0, 0, 0, 0.5);
}
Het HSL-model is voor grafische vormgevers vaak het meest intuïtieve model om mee te werken:
Net als bij RGB kun je een Alpha-kanaal toevoegen voor transparantie (HSLA).
.card {
/* Kleurtoon 217 (blauw), 91% verzadigd, 60% lichtheid */
background-color: hsl(217, 91%, 60%);
}
background-color)Om de achtergrond van een pagina of een specifiek element (zoals een knop, kaart of div) te kleuren, gebruik je de eigenschap background-color.
/* De volledige pagina krijgt een zachte, lichtgrijze achtergrond */
body {
background-color: #f8fafc;
}
/* Een opvallende knop met een blauwe achtergrond */
.btn {
background-color: #2563eb;
color: #ffffff;
padding: 12px 24px;
border-radius: 6px;
}
background-image)Naast effen kleuren kun je ook een afbeelding of een kleurverloop (gradient) als achtergrond instellen met background-image.
Met de functie url('pad/naar/foto.jpg') laad je een afbeelding in als achtergrond.
.hero-banner {
background-image: url('images/header-bg.jpg');
background-repeat: no-repeat; /* Voorkomt dat de foto zich herhaalt */
background-size: cover; /* Vult het hele blok netjes op */
background-position: center; /* Centreert de foto */
height: 400px;
}
background-repeat: Bepaalt of de afbeelding tegelt (repeat, no-repeat, repeat-x).background-size: cover: Schaalt de foto zodat het hele element bedekt is (snijdt eventueel randen af).contain: Zorgt dat de hele foto zichtbaar is binnen het element.background-position: Bepaalt het uitlijnpunt (bijv. center, top right).In plaats van een externe afbeelding kun je met CSS zelf vloeiende kleurovergangen genereren met linear-gradient() of radial-gradient().
/* Een verloop van donkerblauw naar paars onder een hoek van 135 graden */
.gradient-box {
background-image: linear-gradient(135deg, #1e3a8a, #7c3aed);
color: #ffffff;
padding: 40px;
}
| Model | Voorbeeld | Beste toepassing |
|---|---|---|
| Kleurnaam | crimson | Snelle tests en simpele voorbeelden. |
| Hex-code | #2563eb | Standaard voor vaste huisstijl- en merkkleuren. |
| RGB / RGBA | rgba(0, 0, 0, 0.5) | Wanneer je transparantie (overlay/schaduw) nodig hebt. |
| HSL / HSLA | hsl(217, 91%, 60%) | Handig voor het maken van kleurenpaletten (tinten/schaduwen). |
Hier zie je hoe je verschillende achtergronden en kleurdefinities samen gebruikt in een HTML/CSS-opstelling:
<main>
<!-- Kaart met Hex-kleur en transparante RGBA overlay -->
<div class="card">
<h2>Grafisch Ontwerp</h2>
<p>Ontdek de kracht van typografie en kleur op het web.</p>
<button class="btn-primary">Lees Meer</button>
</div>
</main>
/* Algemene body achtergrond met HSL */
body {
background-color: hsl(210, 20%, 98%);
font-family: sans-serif;
}
/* Kaart met witte achtergrond en subtiele rand */
.card {
background-color: #ffffff;
border: 1px solid rgba(0, 0, 0, 0.1);
padding: 30px;
border-radius: 12px;
max-width: 400px;
}
/* Knop met verloop achtergrond */
.btn-primary {
background-image: linear-gradient(to right, #2563eb, #3b82f6);
color: #ffffff;
border: none;
padding: 10px 20px;
border-radius: 6px;
cursor: pointer;
}
#2563eb), RGB(A) en HSL(A).background-color geeft een element een egale achtergrondkleur.background-image laad je in met url('...') of genereer je met linear-gradient().background-image altijd met background-size: cover;, background-repeat: no-repeat; en background-position: center; voor het beste resultaat met foto's.