首页 >web前端 >css教程 >为什么我的 :visited CSS 样式在现代浏览器中不起作用?

为什么我的 :visited CSS 样式在现代浏览器中不起作用?

Patricia Arquette
Patricia Arquette原创
2024-12-02 00:12:12335浏览

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

为什么 :visited CSS 样式不起作用?

在最近阻止 CSS 漏洞的尝试中,已启用了一项安全功能在 Firefox 4、Internet Explorer 9 和 Chrome 等现代浏览器中实现,这限制了 :visited 伪类的功能。这解释了为什么问题中提供的代码片段无法按预期工作。

在代码中,定义了一条规则来更改链接被访问时的外观,将字体粗细设置为正常,并将颜色变为黑色。但是,如果在 Internet Explorer 或 Chrome 中打开此代码,即使访问后链接仍保持粗体。

由于更改访问链接的字体粗细可能会影响元素的宽度,因此会出现安全问题。因此,尽管浏览器限制了更改访问链接的字体粗细的能力,但它们也实施了额外的保护措施,以防止规避此安全措施。

这些保护措施包括:

  • 窗口.getComputedStyle() 和类似函数返回值,指示该链接尚未被访问。
  • 使用同级选择器的相邻元素(例如::visited span)将被设计为链接未被访问。
  • 在涉及嵌套链接元素的特定场景中,匹配的元素可能会被渲染为链接未被访问。

由于这些安全功能,目前没有可行的解决方法来解决此问题。 :visited 伪类在大多数现代浏览器中都受到有效限制,以防止潜在的漏洞利用。

以上是为什么我的 :visited CSS 样式在现代浏览器中不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn