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