: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

Firefox

Firefox pour Androïd

Edge

Chrome

Androïd Brower

KaiOS Browser

Chrome pour Androïd

Opéra mini

Historique des pseudo-classes :link et :visited.

  • CSS 2.1 - Spécification concernant les feuilles de styles en cascade - Révision 1

    Ce niveau 2 de la spécification décrit le mécanisme des styles en cascade de CSS. Ce langage est utilisé pour formater les documents HTML ou XML. Il prend en charge les feuilles de style spécifiques aux médias afin que les auteurs puissent adapter la présentation de leurs documents aux navigateurs visuels, aux dispositifs auditifs, aux imprimantes, aux appareils braille, aux appareils portables, etc.

    Concernant :link. Introduction des pseudo-classes :link et :visited.
    WD
    04 Novembre 1997
    Document de travail.
    PR
    24 Mars 1998
    Proposé à la recommandation.
    REC
    11 Mai 1998
    Recommandation.
  • Sélecteurs - Niveau 3

    Concernant :link. Pas de changement concernant les pseudo-classes :link et :visited.
    WD
    03 Août 1999
    Document de travail.
    CR
    13 Novembre 2001
    Candidat à la recommandation.
    PR
    15 Décembre 2009
    Proposé à la recommandation.
    REC
    29 Septembre 2011
    Recommandation.
  • Sélecteurs - Niveau 4

    Concernant :link. Pas de changement concernant les pseudo-classes :link et :visited.
    WD
    29 Septembre 2011
    Document de travail.
    CR
    PR
    REC

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 non visités.