6

是否可以将 background-image: 属性添加到访问的链接?

 a.coolLinks:visited{
     background-image:url("http://www.ledr.com/colours/black.jpg");
}

谢谢

编辑:所以看起来这是一个安全漏洞,这就是为什么它不能完成。没有迹象表明浏览器阻止了这种 CSS 样式。

4

3 回答 3

13

根据大多数规范,您的代码是正确的。但是,许多浏览器认为访问链接上的背景图像可能侵犯用户隐私,因此不允许这样做。

观察这个例子:

<p><a href="/unvisited">Unvisited link</a></p>

<p><a href="http://jsfiddle.net/">Visited Link</a></p>

<style>
a {
  background:red url("http://placekitten.com/100/101?image=2") center center no-repeat;
  display: block;
  height: 200px;
  width: 200px;
  overflow: hidden;
  text-align: center;
  background-color: red;
}

a:visited {
  background:blue url("http://placekitten.com/100/100?image=1") center center no-repeat;
}
</style>

(也在http://jsfiddle.net/Yq5GY/1/)。Firefox 忽略访问链接的背景图像声明,并且从不显示独奏小猫。您可以使用背景颜色进行一些区分。无论如何,仅依赖图像的可用性很差。

于 2013-01-07T19:42:56.793 回答
1

正如@KatieK 所建议的那样,大多数浏览器不允许将背景图像 [甚至像背景颜色这样的其他规则] 设置为:visited链接,因为这是一个隐私问题。您可以使用以下链接阅读它:

  1. 隐私相关更改
  2. 报告的错误
于 2013-01-07T19:54:17.827 回答
1

:visited 的 MDN 规范,你会注意到 background-image 是不允许的。

于 2013-01-07T20:03:00.923 回答