Sélecteurs CSS comme ::after
sont des éléments virtuels qui ne sont pas disponibles en tant qu'éléments explicites dans l'arbre DOM. Ils sont appelés " Pseudo-éléments " et sont utilisés pour insérer un contenu avant/après un élément (ex : ::before
, ::after
) ou, sélectionnez une partie d'un élément (par exemple ::first-letter
). Actuellement, il n'y a que 5 pseudo-éléments standard : after, before, first-letter, first-line, selection
.
D'autre part, il existe d'autres types de sélecteurs appelés " Pseudo-classes "qui sont utilisés pour définir une état spécial d'un élément (comme :hover
, :focus
, :nth-child(n)
). Elles sélectionnent l'ensemble d'un élément existant dans le DOM. Les pseudo-classes sont une longue liste avec plus de 30 éléments.
Initialement (dans CSS2 et CSS1), la syntaxe du point-virgule unique était utilisée à la fois pour les pseudo-classes et les pseudo-éléments. Mais, dans CSS3, la ::
a remplacé la syntaxe :
notation des pseudo-éléments pour mieux les distinguer.
Pour des raisons de rétrocompatibilité, l'ancienne syntaxe à un seul point virgule est acceptable pour les pseudo-éléments tels que :after
(les navigateurs supportent encore tous l'ancienne syntaxe avec un point-virgule). Seul IE-8 ne supporte pas la nouvelle syntaxe (utilisez un seul point-virgule si vous voulez supporter IE8).