为啥我访问的链接没有背景颜色?
Posted
技术标签:
【中文标题】为啥我访问的链接没有背景颜色?【英文标题】:Why won't my visited link have a background color?为什么我访问的链接没有背景颜色? 【发布时间】:2011-08-18 20:54:08 【问题描述】:似乎 a:visited 无法在我的链接上显示背景颜色。
http://jsfiddle.net/davestein/D2srA/
我错过了什么超级简单的东西?
【问题讨论】:
有趣。边框也不起作用 【参考方案1】:a:visited
上的背景颜色似乎只有在普通的a
具有背景颜色(明确定义或通过继承(直接父级)必须实际上有一个背景颜色才能做到这一点)。
显然,必须始终为a
定义背景颜色并不理想,因为该站点可能有背景图像。
CSS 错误..?
【讨论】:
找到了这个未回答的老问题。这不是 CSS 错误,但如果您只考虑 CSS,它就足够接近了。我认为这是一个浏览器安全问题,因此 JS 无法轻易撕下访问过的链接颜色以跟踪用户的去向。【参考方案2】:尝试 a) 设置默认背景颜色(如 #fff)和 b) 删除 !important,如下所示:
http://jsfiddle.net/D2srA/10/
【讨论】:
我们刚刚注意到,正如您评论的那样 - 想知道我的修订版是如何达到 12 的。jsfiddle.net/davestein/D2srA/12您知道它为什么会这样吗? 成功的答案是这样的:jsfiddle.net/davestein/D2srA/31 使用inherit 可以解决透明不被覆盖的问题。我们如何在回答问题上获得团队合作的联合分数? :) 废话,继承不起作用 - 因为小提琴的背景色是白色,所以它起作用了。为什么上帝为什么,我需要定义一些任意颜色吗? 白色不好吗?透明呢? 透明是我开始的地方,但它不起作用。它不适用于 FF、Chrome 或 Safari。它适用于 Opera 和 IE。我们生活在一个多么落后的世界。【参考方案3】:我不确定这里的技术原因,但这似乎只适用于我为 a 添加背景颜色:
一个 背景颜色:#ffffff;
a:访问过 背景颜色:#ff0000;
【讨论】:
【参考方案4】:如果我像你那样做,它对我不起作用。但是,如果我添加每个伪类,它就可以工作。例如:
a:link color:#FF0000; /* 未访问的链接 */ a:visited color:#00FF00; /* 访问过的链接 */ 一个:悬停颜色:#FF00FF; background-color:black; /* 鼠标悬停在链接上 */ a:active color:#0000FF; /* 选中的链接 */【讨论】:
【参考方案5】:!important 永远都是卡车
a:active color:#0000FF !important;
a:visited color:#0000FF !important;
【讨论】:
以上是关于为啥我访问的链接没有背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章
我在外层div里面已经设置了背景颜色为白色,为啥里面的div撑开后,ie8显示的时候背景颜色没有了!