pseudo selectors
Last updated
Last updated
Er bestaan 2 soorten van pseudo-selectoren, nl.:
pseudo-classes (:)
pseudo-elements (::)
Pseudo-classes kunnen worden toegevoegd aan de CSS-selector van een element om het op een bepaalde manier te stylen. Pseudo-classes beïnvloeden de staat van een HTML-element en worden actief zodra er een actie op dat element wordt uitgevoerd.
:hover
is bijvoorbeeld een pseudo-classe die vaak samen met links en knoppen gebruikt wordt om een stijlverandering te laten plaatsvinden wanneer de gebruiker de muis over het element beweegt.
pseudo-classes zijn voorgedefinieerd in CSS. Elk element heeft dus pseudo-classes die gebruikt kunnen worden in de stijlregels. Een pseudo-classe-selector heeft als basis een dubbele punt gevolgd door de naam van de pseudo-classe. De naam van een pseudo-classe is hoofdletterongevoelig.
Stijlregels waarin gebruik gemaakt wordt van een pseudo-classe selector kunnen er als volgt uitzien:
Elk van de volgende selectoren is een pseudo-classe die je meestal met het <a>
-element gebruikt. De volgorde waarin ze worden toegepast speelt een rol.
:link
De :link CSS-pseudo-classe geldt voor niet-bezochte links en is standaard blauw en onderlijnd.
:visited
De :visited CSS-pseudo-classe geldt voor bezochte links en is standaard magenta.
:hover
De :hover CSS-pseudo-classe is de meest bekende pseudo-class die ervoor zorgt dat de weergave van een element wijzigt wanneer er met een muis wordt over gegaan.
:active
De :active CSS-pseudo-classe maakt in bovenstaand voorbeeld de koppelingen rood als erop geklikt wordt. Omdat :active
als laatste gedefineerd is, overschrijft deze de eerste drie pseudo-classes. Dit wordt bijvoorbeeld gebruikt bij navigatie, zodat je in de menu weet welke pagina je aan het bekijken bent.
De volgende pseudo-classes zijn gekoppeld aan formulieren en geven de mogelijkheid om elementen uit een formulier te selecteren op basis van de toestand van het form-element.
:checked
De :checked CSS-pseudo-classe vertegenwoordigt een radio-button, een checkbox of option, waarbij dat element is aangevinkt of status is geschakeld.
:required
De :required CSS-pseudo-classe wordt gebruikt bij formulieren voor het markeren van velden die geldige gegevens moeten bevatten voordat een formulier kan worden ingediend.
:valid
De :valid CSS-pseudo-classe vertegenwoordigt een element waarvan de inhoud met succes wordt gevalideerd. Hierdoor kunnen geldige velden eenvoudig een uiterlijk krijgen dat de gebruiker helpt te bevestigen dat zijn gegevens correct zijn opgemaakt.
:invalid
De :invalid CSS-pseudo-classe vertegenwoordigt een element waarvan de inhoud niet gevalideerd kan worden. Dit is handig om invoerfouten voor de gebruiker te markeren.
Deze pseudoclassen worden gebruikt om elementen uit de HTML-structuur te halen. We kunnen de structuur doorlopen zonder te weten welk element er exact staat.
:first-child
De :first-child CSS-pseudo-classe vertegenwoordigt het eerste element van een groep elementen op hetzelfde niveau (voorbeeld).
:last-child
Met :last-child selecteer je het laatste element in de lijst van elementen in een ouderelement (voorbeeld).
:only-child
:only-child komt overeen met een element als dit het enige onderliggende element van het ouderelement is, het 'enige kind' als het ware (voorbeeld).
:nth-child(N)
De :nth-child(N) CSS-pseudo-class selecteert elementen op basis van hun positie in een groep van broers en zussen binnen één ouderelement (voorbeeld).
:nth-last-child(N)
De :nth-last-child(N) CSS-pseudo-classe selecteert het N laatste element in de lijst van elementen in een ouderelement (voorbeeld).
:nth-of-type
De :nth-of-type CSS-pseudo-classe selecteert elementen van een bepaald type of op basis van hun positie in een groep broers en zussen.
:first-of-type
De :first-of-type CSS-pseudo-classe selecteert het eerste element van zijn type binnen een groep van broers / zussen.
Er bestaan nog meer véél meer pseudo-classes. Bekijk ze hier allemaal!
Met pseudo-elementen kunnen we een specifiek onderdeel van een element gaan beïnvloeden. Denk hierbij bijvoorbeeld aan de eerste lijn van een paragraaf. We zouden die lijn dan in een span
-element kunnen steken of we kunnen met een pseudo-element-selector die lijn specifieke stijleigenschappen geven.
::first-letter
::first-line
Een volledige lijst van alle pseudo-elementen vind je hier.