html css 超链接 背景图片 无法根据 活动状态切换

我想给已点击,和未点击的超链接分别设置背景图片,但为什么不能切换呢?
a:link{text-decoration:none;color:black;background:url(Resources/link.png); background-repeat:no-repeat}
a:hover{text-decoration:none;color:blue;background:url(Resources/link.png); background-repeat:no-repeat}
a:visited{text-decoration:none;color:gray;background:url(Resources/vlink.png); background-repeat:no-repeat}
link.png的颜色是红色,vlink.png的颜色是灰色
现在的情况是只能显示红色,且未点击和已点击的超链接都为红色(图片没搞错,一个灰,一个红),请问需要怎么改呢?

我测试了下IE6下是正常的其它的浏览器的确不行,查阅相关资料发现是浏览器因为安全性原因而限制了:visited的样式,因为配合getComputedStyle(),js可能遍历用户的访问记录从而有安全隐患。所以现代浏览器将:visited的样式限制到颜色级别,就是你只能改动color,背景图片无效,其他的部分基本都受限。看来或许你只能是加边框了边框颜色改为灰色。追问

好像确实是这样,背景颜色也失效了,所有和background有关的都跟随a:link的样式,你能帮我看看这个问题吗? 直接百度“ html css 如何制作 这种样式? ” 这个问题也是我问的,既然visited只能修改color的话,那个回答的答案就是错的,你能帮我看下吗?谢谢。。!

追答

只能用js来实现了,js我也不怎么会你去问下那些会js的网友吧,应该用js来控制挺简单的,祝你好运

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-05
为了产生预期的效果,在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后!!追问

。。没差,改了还是一样

追答

你前面的结构怎么写的

第2个回答  2013-10-06
做成一张图片,改变背景定位 background-position:x y;明白了不?