Selectors en de cascade
Selecteer elementen met type-, class-, ID- en attribuutselectors. Leer specificiteit, overerving en de cascade kennen om te voorspellen welke stijlen winnen.
Selectors en de cascade is een gratis Frontend Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Frontend Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Frontend Academy bevat in totaal 4 lessen.
Wat is CSS?
CSS (Cascading Style Sheets) is de taal die de visuele weergave bepaalt. Je schrijft regels: elke regel heeft een selector die elementen selecteert en een declaratieblok met eigenschap-waardeparen.
selector {
property: value;
another-property: value;
}Type-, klasse- en ID-selectors
De drie fundamentele selectors: type selecteert alle elementen met een bepaalde tag (p), klasse selecteert elementen met een klasse (.card) en ID selecteert één element op basis van zijn id (#logo). Gebruik bij voorkeur klassen: ID's hebben een zeer hoge specificiteit.
p { color: #333; } /* type */
.card { padding: 16px; } /* class */
#logo { width: 200px; } /* ID */Selectors voor attributen en pseudoklassen
Selecteer op attribuutwaarde met [type="email"]. Gebruik pseudoklassen voor een status: :hover, :focus, :active, :checked, :nth-child(), :first-child, :last-child.
input[type="email"] { border-color: blue; }
a:hover { text-decoration: underline; }
li:nth-child(odd) { background: #f5f5f5; }Combinatoren
Combinatoren beschrijven relaties tussen elementen: spatie (afstammeling), > (direct kind), + (aangrenzende broer of zus), ~ (algemene broer of zus).
nav a { color: white; } /* descendant */
nav > ul { list-style: none; } /* child */
h2 + p { margin-top: 0; } /* adjacent sibling */Specificiteit: welke regel wint?
Wanneer meerdere regels hetzelfde element selecteren, bepaalt de specificiteit welke regel wint. ID-selectors (0,1,0,0) verslaan klasse-selectors (0,0,1,0), die op hun beurt type-selectors (0,0,0,1) verslaan. Inline-stijlen verslaan alles. !important verslaat alles — gebruik het alleen als laatste redmiddel.
Specificiteit berekenen
Tel ID's, klassen/attributen/pseudoklassen en typen afzonderlijk. Vergelijk de kolommen van links naar rechts. Voorbeeld: #nav .link:hover = (0,1,1,1). .nav a = (0,0,1,1). De eerste wint.
/* Specificity: 0,0,1,1 — loses */
.nav a { color: red; }
/* Specificity: 0,1,1,1 — wins */
#nav .link:hover { color: blue; }De cascade: de volgorde is belangrijk
Wanneer de specificiteit gelijk is, wint de regel die later in het stijlblad staat. Dit is de C in CSS: de cascade. Zowel de importvolgorde als de bronvolgorde zijn belangrijk.
Overerving
Sommige CSS-eigenschappen worden standaard overgeërfd: kinderen krijgen de waarde van hun ouder zonder dat je die zelf instelt. Tekstgerelateerde eigenschappen zoals color, font-family en line-height worden overgeërfd. Eigenschappen van het boxmodel, zoals margin, niet.
body {
font-family: 'Inter', sans-serif; /* all text inherits this */
color: #1a202c; /* all text inherits this */
}De selectors :is() en :where()
Met :is() en :where() schrijf je beknopte selectors die overeenkomen met een item uit een lijst. Het verschil: :is() neemt de hoogste specificiteit van zijn argumenten over; :where() heeft altijd specificiteit nul.
/* Instead of h1 a, h2 a, h3 a: */
:is(h1, h2, h3) a {
color: inherit;
}De universele selector *
De universele selector * komt overeen met elk element. Deze wordt vaak gebruikt in CSS-resets: *, *::before, *::after { box-sizing: border-box; }. Daardoor is het boxmodel veel voorspelbaarder.
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}Standaardstijlen van de browser
Browsers passen hun eigen standaardstijlblad (het stijlblad van de user-agent) toe voordat dat van jou wordt toegepast. CSS-resets, zoals normalize.css, of CSS-lagen maken deze standaardwaarden ongedaan, zodat je styling vanuit een bekende basis begint.
Snelle controle
Welke selector heeft de hoogste specificiteit?
Samenvatting: selectors en de cascade
Selecteer elementen met type-, klasse-, ID-, attribuut- en pseudoklasse-selectors. Specificiteit lost conflicten op (ID's > klassen > typen). De cascade verbreekt gelijke standen met de bronvolgorde. Overerving geeft tekststijlen automatisch door aan nakomelingen.
Leer HTML met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 41
- Lessen
- 163
Veelgestelde vragen
Is de les “Selectors en de cascade” gratis?
Ja — de volledige tekst van “Selectors en de cascade” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Frontend Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Frontend Academy bevat in totaal 4 lessen.
Wat leer ik in “Selectors en de cascade”?
Selecteer elementen met type-, class-, ID- en attribuutselectors. Leer specificiteit, overerving en de cascade kennen om te voorspellen welke stijlen winnen. Je oefent met Frontend Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Frontend Academy te beginnen?
Ervaring vooraf is niet nodig. Frontend Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Selectors en de cascade”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Frontend Academy?
Ja. Elke les over Frontend Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Selectors en de cascade
- Kleuren, typografie en het boxmodel
- Display: de basis van block, inline, flex en grid
- Positionering: relative, absolute, fixed en sticky