2011-07-18 242 views
1

所以,我有一个在IE8链接悬停状态的问题。代码如下:IE8链接背景颜色不改变悬停

<div id="navigation"> 
    <a href="/" class="home">Home</a> 
</div> 

而CSS:

#navigation { 
    float: right; 
    height: 29px; 
    margin: 50px 0 0 23px 
} 

#navigation a { 
    color: #FFF; 
    float: left; 
    font-size: 120%; 
    height: 25px; 
    margin-right: 7px; 
    padding: 2px 10px; 
    text-align: center; 
    width: 104px; 
} 

#navigation a.home { 
    background-color: #f4e034; 
} 

#navigation a.home:hover { 
    background-color: #fffbd4; 
} 

现在,这部作品在我在测试其他浏览器精器(Chrome,Safari浏览器,FF,IE6和IE7),它只是不会更改悬停时IE8中链接的背景颜色。

我曾尝试将display: blockdisplay: inline-block添加到a元素。我也尝试在悬停标记中的背景颜色之后添加!important。我也确保CSS中没有其他元素会影响这一点。

使用谷歌搜索这个问题给了我一堆关于IE8测试版的东西,事实并非如此。它也给了我菜单相关链接的答案,但事实并非如此。它为我提供了不受背景色影响的事情的答案。它给了我改变字体颜色作品的东西,而不是背景颜色(在我的情况下都不起作用)。

只是想知道是否有其他人注意到这个问题,并有他们可以提供这方面的东西。让我知道,提前谢谢。

+0

好奇,你有没有尝试在悬停状态下添加边框(或任何其他样式,如font-weight:bold;),看看是否会生效? – pixelfreak

+0

我想知道,是否删除其默认背景颜色声明导致它的工作? (如删除#navigation a.home {[...]}中包含的规则) – Nightfirecat

+0

我在IE8中测试了这段代码,它工作正常。你确定其他地方没有冲突的代码吗? http://jsfiddle.net/N4zUN/ – Tank

回答

0

我看起来像你的问题。我尽你所能地尝试了各种方式,但没用。

我最终的解决方案是为需要悬停的元素设置背景颜色,然后运行。

当时我感到震惊,我不知道为什么现在仍然如此。

0

您的HTML页面上是否指定了DOCTYPE?这看起来很明显,但我在IE8中遇到了与悬停状态类似的问题 - 特别是在编辑旧网站时。

对我来说,解决办法是添加打开HTML标记上方DOCTYPE HTML页面

DOCTYPE HTML PUBLIC上! “ - // W3C // DTD XHTML 1.0过渡// EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

我希望这有助于!