【问题标题】:Why won't my visited link have a background color?为什么我访问的链接没有背景颜色?
【发布时间】:2011-08-18 20:54:08
【问题描述】:

似乎 a:visited 无法在我的链接上显示背景颜色。

http://jsfiddle.net/davestein/D2srA/

我错过了什么超级简单的东西?

【问题讨论】:

  • 有趣。边框也不起作用

标签: css background-color


【解决方案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;}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-09
        • 2012-04-29
        相关资源
        最近更新 更多