为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

千巷猫影 2019-11-03 14:04:16
有什么原因不能在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不会影响它。编辑:更改颜色的作品,但不是字体粗细。编辑:解决方法是更改可访问性以忽略网页颜色。我没有访问源的权限,所以我必须这样做。
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

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


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


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



查看完整回答
反对 回复 2019-11-04
?
慕斯王

TA贡献1864条经验 获得超2个赞

该问题与历史记录嗅探有关,由于隐私问题,已更改访问的链接的CSS属性已被禁用。


我想出了以下解决方法来达到预期的效果。可以更改访问链接的背景颜色。


解决方案非常简单:


在链接上设置与链接高度相同且宽度为1px的背景图像,然后水平重复图像

图片与链接的背景颜色相同

在垂直中间使该图像的一个像素透明

on:visited状态只需将链接的背景颜色更改为链接的文本颜色

背景颜色中只有一行是可见的,因为背景图像正在掩盖它

这是一个例子:


a:link {

    color:#000;

    background:#FFF url('../img/linethrough.png') repeat-x top left;

}


a:visited {

    background-color:#000;

    color:#000;

}



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 756 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信