Beschrijf de pseudo-klassen en pseudo-elementen in CSS.
sobes.tech AI
Antwoord van AI
Pseudo-klassen en pseudo-elementen breiden de mogelijkheden van CSS-selectors uit, waardoor stijlen kunnen worden toegepast op basis van de toestand, positie of andere kenmerken van elementen die niet met eenvoudige selectors kunnen worden uitgedrukt.
Pseudo-klassen
Pseudo-klassen beginnen met een enkele dubbele punt (:). Ze worden gebruikt om een element in een specifieke toestand te stylen.
Belangrijke pseudo-klassen:
:hover- styleert het element bij het zweven met de muis.:active- styleert het element tijdens het klikken (activeren).:focus- styleert het element dat momenteel de focus heeft (bijvoorbeeld na het klikken op een link of invoerveld).:visited- styleert bezochte links.:link- styleert niet-bezochte links.:first-child- styleert het eerste kind van zijn ouder.:last-child- styleert het laatste kind van zijn ouder.:nth-child(n)- styleert het n-de kind van zijn ouder.nkan een nummer, een sleutelwoord (even, oneven) of een uitdrukking (2n+1) zijn.:nth-last-child(n)- styleert het n-de kind vanaf het einde.:not(selector)- styleert elementen die niet overeenkomen met de opgegeven selector.
/* Voorbeeld van gebruik van pseudo-klassen */
a:hover {
color: blue; /* Verandert de kleur van de link bij zweven */
}
input:focus {
border-color: green; /* Verandert de randkleur van het invoerveld bij focus */
}
li:first-child {
font-weight: bold; /* Styleert het eerste lijstitem */
}
Pseudo-elementen
Pseudo-elementen beginnen met dubbele dubbele punt (::). Ze worden gebruikt om een specifiek deel van een element te stylen of om gegenereerde inhoud vóór of na de inhoud van het element in te voegen.
Belangrijke pseudo-elementen:
::before- voegt gegenereerde inhoud toe vóór de inhoud van het element. Vaak gebruikt met de eigenschapcontent.::after- voegt gegenereerde inhoud toe ná de inhoud van het element. Vereist ook de eigenschapcontent.::first-letter- styleert de eerste letter van een tekstblok.::first-line- styleert de eerste regel van een tekstblok.::selection- styleert het deel van het element dat door de gebruiker is geselecteerd.
/* Voorbeeld van gebruik van pseudo-elementen */
p::first-letter {
font-size: 2em; /* Vergroot de eerste letter van de paragraaf */
font-weight: bold;
}
h2::after {
content: " ---"; /* Voegt tekst toe na de kop */
color: gray;
}
mark::selection {
background-color: yellow; /* Verandert de achtergrond van de geselecteerde tekst */
color: black;
}
Historisch gebruikten pseudo-klassen één punt (:) voor compatibiliteit met CSS2.1, terwijl pseudo-elementen in CSS3 begonnen met dubbele punten (::) voor een betere onderscheid. Het wordt aanbevolen om dubbele punten te gebruiken voor pseudo-elementen in moderne code.
Vergelijkingstabel:
| Kenmerk | Pseudo-klasse | Pseudo-element |
|---|---|---|
| Syntax | :selector |
::selector |
| Doel | Toestand van het element | Deel van het element of gegenereerde inhoud |
| Voorbeelden | :hover, :focus, :first-child |
::before, ::after, ::first-letter |