Heim >Web-Frontend >CSS-Tutorial >Warum bleiben meine besuchten Links in IE und Chrome fett?

Warum bleiben meine besuchten Links in IE und Chrome fett?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-24 22:02:17720Durchsuche

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

Warum: Der besuchte CSS-Stil bleibt in IE und Chrome fett gedruckt

In einem bestimmten HTML-Dokument stoßen Benutzer häufig auf einen Link, dessen Fettschrift beibehalten wird Formatierung auch nach dem Besuch. Dieses Problem tritt in Browsern wie Internet Explorer und Chrome auf. Lassen Sie uns der Wurzel dieses Problems auf den Grund gehen.

Der untersuchte HTML- und CSS-Code ist:

<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>

Typischerweise sollte die :visited-Pseudoklasse beim Besuch eines Links ihr Aussehen ändern, aber In diesem Fall bleibt die Schriftstärke fett.

Sicherheitsfunktion Einschränkung

Der Schuldige hinter diesem Verhalten ist eine Sicherheitsmaßnahme, die in modernen Browsern wie Firefox 4, Internet Explorer 9 und Chrome implementiert ist. Diese Einschränkung verhindert CSS-Exploits, die sich aus der Änderung der Schriftstärke besuchter Links ergeben könnten.

GetComputedStyle()-Verhalten

In diesen Browsern gibt getComputedStyle() im Allgemeinen Werte für zurück besuchte Links, als ob sie nicht besucht worden wären. Allerdings könnten böswillige Akteure dies möglicherweise ausnutzen, indem sie die Breite des Elements mithilfe der Schriftstärke ändern. Daher könnte das Zulassen von Änderungen der Schriftstärke für :besuchte Links die Sicherheitsmaßnahme gefährden.

Browser-Sicherheitsmaßnahmen

Um CSS-Exploits zu verhindern, setzen Browser bestimmte Sicherheitsmaßnahmen ein:

  • getComputedStyle() zeigt immer an, dass Links noch nie besucht wurden.
  • Geschwisterselektoren (z. B. :visited span) stellt benachbarte Elemente als nicht besucht dar.
  • In seltenen Fällen mit verschachtelten Links kann das Zielelement auch als nicht besucht dargestellt werden.

Fazit

Diese Einschränkung ist eine Sicherheitsfunktion zum Schutz vor CSS-Exploits. Leider gibt es keine bekannte Problemumgehung zum Ändern der :visited-Schriftstärke in Internet Explorer und Chrome.

Das obige ist der detaillierte Inhalt vonWarum bleiben meine besuchten Links in IE und Chrome fett?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn