Weergave
Selectors
Een selector zegt welke elementen een rule krijgen.
Element selector
Selecteert elementen op hun tag name.
Geen punt, geen hekje, gewoon de naam van het element.
css
p {
color: darkred;
}Voor alle (⚠)️ paragrafen op je site: tekstkleur donkerrood.
Class selector
Selecteert elementen op hun class, voorafgegaan door een punt.
css
.plain {
color: red;
}html
<p class="plain">Deze wel.</p>
<p>Deze niet.</p>
<article class="plain">Deze ook.</article>💡 Herinner les 2
Meerdere elementen mogen dezelfde class hebben, en één element mag meerdere classes hebben. Gebruik dezelfde class op alle elementen die dezelfde stijlkenmerken moeten hebben.
Id selector
Selecteert het ene element met dat id, voorafgegaan door een hekje/spoorwegtegen/hashtag/...
css
#content {
color: green;
}Een id komt maar één keer voor op een pagina, dus slechts één element krijgt die stijlregel.
Gebruik zo weinig mogelijk
Of nog beter. Niet.
Een id-selector weegt heel zwaar door in de cascade. Wat je met een id stylet, krijg je later moeilijk nog overschreven.
Attribute selector
Selecteert elementen op een attribuut, tussen vierkante haakjes.
css
[href="https://odisee.be"] {
color: red;
}Alles met exact die href wordt rood. Je kan ook op het bestaan van een attribuut selecteren, of op een stuk van de waarde:
css
[disabled] { /* elk element met een disabled-attribuut */ }
[href^="tel:"] { /* elke href die begint met tel: */ }
[href$=".pdf"] { /* elke href die eindigt op .pdf */ }Dit zijn eerder randgevallen dan dagelijks werk, maar je gaat ze tegenkomen en dan moet je ze kunnen lezen.
Probeer ze allemaal uit!
html
Zo is een link naar <a href="https://odisee.be">Odisee</a>
anders dan een link naar <a href="./">een link met een relatief pad als href</a>
en nog anders dan een <a href="tel:0477889911">telefoonnummer</a>.Recap en oefening
| Wat je selecteert | Hoe |
|---|---|
| op tag name | element |
| op class | .class |
| op id | #id |
| op attribuut | [attribute] |
Schrijf in de playground hieronder vier selectors. De opdracht staat in styles.css.
Volgende week in Selectors, vervolg
- pseudo-classes zoals
:hover,:focus-visible,:first-child - pseudo-elements zoals
::beforeen::after - de universal selector
* - combined selectors zoals
p.plain#intro - combinators om op plaats te selecteren:
main p,main > p,h2 + p