Maison >interface Web >tutoriel CSS >Pourquoi mes liens visités restent-ils en gras dans IE et Chrome ?

Pourquoi mes liens visités restent-ils en gras dans IE et Chrome ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-24 22:02:17722parcourir

Why Do My Visited Links Remain Bold in IE and Chrome?

Pourquoi : le style CSS visité reste gras dans IE et Chrome

Dans un document HTML donné, les utilisateurs rencontrent souvent un lien qui conserve son caractère gras formatage même après avoir été visité. Ce problème survient dans les navigateurs comme Internet Explorer et Chrome. Examinons la racine de ce problème.

Le code HTML et CSS examiné est :

<html>
    <head>
        <style>
            A {font-weight: bold; color:black;}
            A:visited {font-weight: normal; color: black; }
            .Empty {font-weight: bold; color: black; }
        </style>
    </head>
    <body>
        <a href="http://mysite">click me</a>
    </body>
</html>

En général, lors de la visite d'un lien, la pseudoclasse :visited devrait modifier son apparence, mais dans ce cas, font-weight reste gras.

Fonction de sécurité Restriction

Le coupable derrière ce comportement est une mesure de sécurité mise en œuvre dans les navigateurs modernes comme Firefox 4, Internet Explorer 9 et Chrome. Cette restriction empêche les exploits CSS qui pourraient résulter de la modification du poids de la police des liens visités.

Comportement de GetComputedStyle()

Dans ces navigateurs, getComputedStyle() renvoie généralement des valeurs pour visité les liens comme s’ils n’avaient pas été visités. Cependant, des acteurs malveillants pourraient potentiellement exploiter cela en modifiant la largeur de l'élément à l'aide de font-weight. Par conséquent, autoriser les modifications de l'épaisseur de la police pour les liens :visités pourrait compromettre la mesure de sécurité.

Garanties du navigateur

Pour contrecarrer les exploits CSS, les navigateurs emploient des protections spécifiques :

  • getComputedStyle() indique toujours que les liens n'ont jamais été visités.
  • Sibling les sélecteurs (par exemple : visited span) rendent les éléments adjacents comme non visités.
  • Dans de rares cas impliquant des liens imbriqués, l'élément ciblé peut également être rendu comme non visité.

Conclusion

Cette restriction est une fonctionnalité de sécurité visant à protéger contre les exploits CSS. Malheureusement, il n'existe aucune solution de contournement connue pour modifier :visited font-weight dans Internet Explorer et Chrome.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn