W3.org CSS specification指出以下内容(重点是我的):
- :link伪类适用于尚未访问的链接。
- :visited伪类在用户访问链接后应用。
这两种状态是互斥的。
这意味着应该仅将应用于:link
选择器的任何样式应用于未访问的链接。但是,唯一适用此规则的属性似乎是color
。将字体大小、背景等应用于:link
选择器会针对所有链接。
页面下方有一个注释,指出:
注意。样式表作者可能滥用:link和:visited伪类,以确定用户已访问哪些站点,而不经过用户的同意。
因此,UA可以将所有链接视为未访问的链接,或实施其他措施来保护用户的隐私,同时以不同方式呈现已访问和未访问的链接。
但据我所知,这仅适用于Javascript返回的样式,而不适用于样式本身的显示。
这里是一个JS fiddle,展示了这个问题。浏览器是否偏离了规范,还是我漏了什么?