一尘不染

为什么访问a:css样式的CSS无效?

css

有什么原因不能在Internet Explorer或Chrome上运行:

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

我单击的链接永远不会正常,只会保持粗体。在其他 一些 浏览器上也可以。

编辑 :更改大小写不影响它。

编辑 :将a更改为a:link不会影响它。

编辑 :更改颜色的作品,但不是字体粗细。

编辑 :解决方法是更改​​可访问性以忽略网页颜色。我没有访问源的权限,所以我必须这样做。


阅读 295

收藏
2020-05-16

共1个答案

一尘不染

实际上,这与大小写无关。这是一项安全功能。:visited伪类的功能已在许多现代浏览器(Fx4,IE9,Chrome)中受到限制,以防止CSS被利用

如今,getComputedStyle()在这些浏览器中,通常会返回已访问链接的值,就像未访问过一样。不过,我可以简单地想象规避的是:使用font-weight了访问过的链接,该元素的宽度变化,使允许改变浏览器font-weight:visited链接实际上不会修复这个安全漏洞。

因此,没有解决此问题的方法。

2020-05-16