Heim > Web-Frontend > CSS-Tutorial > Warum funktioniert mein :visited-CSS-Stil in modernen Browsern nicht?

Warum funktioniert mein :visited-CSS-Stil in modernen Browsern nicht?

Patricia Arquette
Freigeben: 2024-12-02 00:12:12
Original
430 Leute haben es durchsucht

Why Doesn't My :visited CSS Style Work in Modern Browsers?

Warum der :visited CSS-Stil nicht funktioniert?

Bei einem kürzlichen Versuch, einen CSS-Exploit zu verhindern, wurde eine Sicherheitsfunktion eingeführt in modernen Browsern wie Firefox 4, Internet Explorer 9 und Chrome implementiert, was die Funktionalität der :visited-Pseudoklasse einschränkt. Dies erklärt, warum das in der Frage bereitgestellte Code-Snippet nicht wie vorgesehen funktioniert.

Im Code ist eine Regel definiert, um das Erscheinungsbild von Links beim Besuch zu ändern, indem die Schriftstärke auf „Normal“ und die eingestellt wird Farbe zu Schwarz. Wenn dieser Code jedoch im Internet Explorer oder Chrome geöffnet wird, bleibt der Link auch nach dem Besuch fett gedruckt.

Das Sicherheitsproblem entsteht, weil eine Änderung der Schriftstärke besuchter Links Auswirkungen auf die Breite des Elements haben kann. Obwohl Browser die Möglichkeit, die Schriftstärke für besuchte Links zu ändern, eingeschränkt haben, haben sie daher auch zusätzliche Schutzmaßnahmen implementiert, um die Umgehung dieser Sicherheitsmaßnahme zu verhindern.

Diese Schutzmaßnahmen umfassen:

  • Fenster .getComputedStyle() und ähnliche Funktionen geben Werte zurück, die angeben, dass der Link nicht besucht wurde.
  • Angrenzende Elemente mithilfe eines Geschwisterselektors (z. B. :visited span) wird so gestaltet, als ob der Link nicht besucht wäre.
  • In bestimmten Szenarien mit verschachtelten Linkelementen kann das übereinstimmende Element so gerendert werden, als ob der Link nicht besucht wäre.

Aufgrund dieser Sicherheitsfunktionen gibt es derzeit keine praktikable Lösung für dieses Problem. Die :visited-Pseudoklasse ist in den meisten modernen Browsern effektiv eingeschränkt, um potenzielle Exploits zu verhindern.

Das obige ist der detaillierte Inhalt vonWarum funktioniert mein :visited-CSS-Stil in modernen Browsern nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage