【问题标题】:CSS a:hover color doesn't show in ie 8CSS a:hover 颜色在 ie 8 中不显示
【发布时间】:2011-04-01 12:44:21
【问题描述】:

请查看http://pang.it/pezzella/template.html。悬停时链接应该是红色的。在 FF、Opera 和 Chrome 中效果很好,但在 IE8 中效果不佳。我只是无法理解原因。将a:link 更改为text-decoration:underline 在悬停时会显示红色下划线,但链接文本不会。这是一个错误还是我错过了我的 CSS 中的某些内容?

部分css:

a{
    text-decoration:none;
}

.linkGrey01{ color:#ddd; }
.linkGrey02{ color:#bbb; }
.linkGrey03{ color:#999; }
.linkGrey04{ color:#777; }
.linkGrey05{ color:#555; }
.linkGrey06{ color:#000; }

a:hover{
    color:#f00;
}

【问题讨论】:

  • 在 IE8 中看起来不错:i.imgur.com/kNFZX.png
  • 您是否尝试过使用 IE 开发者工具?在 IE8 中按 F12 将其调出。它应该可以帮助您确定正在应用的样式。
  • 是的,我已经尝试过 IE 开发者工具。它没有给我任何有用的信息。没有蓝色的风格!

标签: css internet-explorer-8 hyperlink hover


【解决方案1】:

在 IE8 中对我来说是正确的。我注意到你没有设置a:visited 的样式,这可能是你的问题。

【讨论】:

  • 对我来说也很好(Windows 7 64 位下的 IE8)
【解决方案2】:

它对我有用。

我猜这个问题与 css 的特殊性有关。 :hover 将颜色应用于锚标记。相同的锚标记有一个类(.linkGrey01、.linkGrey02.... 等),它也应用颜色。类在特异性上胜过标签。

不妨试试

.linkGrey01 a:hover,
.linkGrey02 a:hover,
...etc....
.linkGrey06 a:hover {
    color:#f00;
}

Here's a good tid-bit on CSS specificity

【讨论】:

  • 谢谢,但我不确定:我的链接在悬停时变为蓝色,并且绝对没有任何地方我将颜色定义为蓝色,还是我错了?因此,这可能不是特异性问题。我还尝试更改 IE 的属性以在悬停时使用绿色或黑色等其他颜色,但我的链接仍然是蓝色的。
  • 这真是个谜。 CSS 中没有提到蓝色。您是否曾经有一个带有蓝色的 CSS 并被缓存在浏览器中?
  • 不,当然我已经清理了缓存,但我找到了解决方案。抱歉,我无法解释原因:我从 body css 中删除了 Helvetica narrow 和 Helvetica,结果结果是正确的。 IE很奇怪!
【解决方案3】:

我不能说你们都花时间回答有多棒。我希望我能对这里的人有所帮助。 :-)

我终于找到了一个解决方案,但我无法解释它为什么会起作用。我做了什么, 是要改变:

body {
font-family: Helvetica Narrow,  Helvetica, Arial, sans-serif;} 

阅读:

body {
font-family: Arial, sans-serif;}

然后瞧。

我想知道为什么 Helvetica 会产生这个问题......有人吗?

【讨论】:

    【解决方案4】:

    或者试试color:#F00 !important;,但我认为@nkorth 是对的。

    【讨论】:

    • 我都试过了,但结果相同。所以这似乎是我的浏览器的问题。我很高兴听到它。我已经为此工作了一个多小时,真的快疯了。非常感谢!
    猜你喜欢
    • 2011-07-17
    • 1970-01-01
    • 2015-04-05
    • 2011-09-21
    • 2012-04-02
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2017-03-02
    相关资源
    最近更新 更多