8
votes

Pourquoi déranger avec le "L" dans les styles de liaison "LVHA"?

n'est pas le "A: link" pseudoclasse redondant avec "A" lors de la mise en place de cet ordre (: Lien: visité,: Visité ,: Active)? Pourquoi mettre ceci: xxx

lorsque vous pouvez simplement mettre ceci: xxx

Je demande parce que le premier est l'exemple le plus courant que je vois de l'ordre de LVHA. La deuxième version a la même spécificité, elle fonctionne donc de la même manière. Est-ce juste une chose organisationnelle pour préciser ce qui change lorsque l'état de lien change? Qu'est-ce que je manque?


0 commentaires

3 Réponses :


20
votes

Tous les tags d'ancrage n'ont nécessairement pas un attribut href , de sorte qu'ils ne sont pas tous des liens. Vraisemblablement, le : link pseudoclass ne s'applique pas aux balises d'ancrage sans un href .



2
votes

Selon le Spécification W3C : < / p>

Le: link pseudo-classe s'applique aux liens qui n'ont pas encore été visités.

: lien vous permet de styler des liens non visités tout en laissant d'autres styles de liens non affectés.


4 commentaires

Les liens non visités sont également styled par un {...}


Bien sûr, mais un {...} change le style de toutes les pseudoques. Juste "A {Couleur: Rouge}" ferait visité, non visionné, survolée et active apparaît avec la couleur du premier plan rouge, tandis que "A: link {couleur: rouge}" ne ferait que des liens non visités apparaissent avec une couleur rouge forgrine rouge.


Mais la question est spécifique aux 3 autres États étant définis aussi.


Strictement parler, A n'affecte aucun états pseudo-classe (puisque tout ce qu'il est est un sélecteur de type!). Ce n'est que lorsque vous spécifiez des styles pour les différentes pseudo-classes qu'ils remplacent des règles génériques A . Aussi, A: hover et A: actif peut ramasser A: link styles aussi, car ils ne sont pas mutuellement exclusifs - que seulement affecte A: visité . En d'autres termes, tout lien peut être A: Link: Hover ou A: Link: Active ou même A: Link: Hover: actif , mais pas A: link: visité .



4
votes

Le pseudo-classes : link et : visité ne sont que pour les liens ( a éléments avec un attribut href ):

  • Le: link pseudo-classe s'applique aux liens qui n'ont pas encore été visités.
  • Le: pseudo-classe visité s'applique une fois que le lien a été visité par l'utilisateur.

    [...]

    La langue du document détermine quels éléments sont des ancrages de source d'hyperliens. Par exemple, dans HTML4, les pseudo-classes de liaison s'appliquent à un élément d'un attribut "href".

    mais le pseudo-classes : plancher < / code>, : actif et : focus ne sont pas seulement pour les liens mais peuvent également être appliqués sur d'autres éléments tels que entrée ou textarea .

    Donc d'être correct et sélectionnez uniquement les éléments A des liens, vous aurez besoin d'utiliser A: link . Et pour sélectionner uniquement des liens survolés, vous devez utiliser A: link: survolez et non seulement A: survol . .


1 commentaires

+1 Pour mentionner le DIFF V.: Lien et: Link: Survolez. JSBIN.com/IYUYO/EDIT