:link et :visited, pseudo-classes relatives aux liens.

:visited

Description des pseudo-classes :link et :visited.

Ces sélecteurs font référence aux liens hypertexte, autrement dit aux balises HTML suivantes : a, area et link lorsqu'un attribut href est présent.

  • :link désigne les liens non visités.
  • :visited désigne au contraire les liens déjà visités.

Les liens visités restent dans cet état un certains nombre de jours, à la discrétion du navigateur. L'utilisateur peut également effacer l'historique de navigation, ce qui aura pour effet de remettre tous les liens en non-visités.

De nombreux conflits peuvent apparaître, car un même lien peut être désigné à la fois par la pseudo-classe :link, par la pseudo-classe :active), par la pseudo-classe :any-link et par un sélecteur direct sur les balises a. Malheureusement, tous les navigateurs ne résolvent pas ces conflits de la même façon. Les règles communément admises sont les suivantes :

Les trois pseudo-classes :link, :active et :any-link ont la même priorité. C'est donc la règle rencontrée en dernier qui sera prise en compte.

Les sélecteurs sur les balises a, area et link ont une priorité moindre, quelque soit leur emplacement. C'est donc toujours les règles sur les pseudo-classes qui sont prises en compte, même si elles se trouvent avant.

Pour une explication plus complète sur la résolution des conflits en CSS, reportez-vous au tutoriel sur Les priorités.

Remarque : il existe maintenant une pseudo-classe permettant de cibler tous les liens, visités ou non : :any-link.

Exemples d'utilisation des pseudo-classes relatives aux liens.

Distinction entre liens visités et liens non visités.

Cette première série d'exemples illustre la distinction entre les liens visités et les liens non visités. L'arrière-plan jaune est défini sur la pseudo-classe :any-link. En effaçant l'historique de navigation, vous pouvez remettre les liens déjà visités dans leur état 'non visité'.

Compatibilité des navigateurs.

Les pseudo-classes :link et :visited sont bien reconnues par tous les navigateurs.

Colonne 1
Traitement correcte de la part des navigateurs de la pseudo-classe :link pour cibler les liens.
Colonne 2
Traitement correct par les navigateurs de la pseudo-classe :visited qui cible les liens déjà visités.
1
Pseudo-classe
:link
2
Pseudo-classe
:visited
Estimation de la prise en charge globale.
97%
97%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Safari

Samsung Internet

Opéra

Safari sur IOS

Edge

Firefox

Chrome

Androïd Brower

KaiOS Browser

Chrome pour Androïd

Firefox pour Androïd

Opéra mini

Historique des pseudo-classes :link et :visited.

Voir aussi...

Plusieurs pseudo-classes permettent de cibler les liens sur une page, ou les parties de page désignées par l'url (signet). Reportez-vous aux pages décrivant les sélecteurs ci-après pour compléter votre information.

:any-link
Pseudo-classe désignant tous les liens (visités ou non).
:link
Pseudo-classe désignant les liens hypertexte non visités.
:local-link
Pseudo-class désignant les liens internes, à l'exclusion des liens pointant vers un autre domaine.
:target
Pseudo-classe désignant l'élément dont l'id figure dans l'url (signet).
::target-text
Cible le texte de l'élément désigné par le signet de l'url.
:target-within
Pseudo-classe désignant le container parent de l'élément dont l'id figure dans l'url.
:visited
Pseudo classe désignant les liens hypertexte déjà visités.