0

我一直试图改变li或anchor的背景悬停颜色,左侧的按钮下拉菜单(悬停时应该是浅灰色)。除了IE8和IE9以外的所有其他浏览器中的作品。无法改变悬停在IE8或IE9上的li a的背景颜色

我试过了很好的50多种不同的组合来覆盖红色,没有运气。

演示页:http://templatebase.com/lwfdev/newsub/

任何想法,将不胜感激。

+0

请张贴你的问题小提琴。写小提琴也可以通过缩小代码来帮助你...:悬停在锚上应该不是问题... –

+0

jsFiddle:http://jsfiddle.net/bX6kp/ –

+0

我有这种感觉我的“缩小下来“的评论没有达到它的目标:-)无论如何,一切似乎在这里工作正常(至少悬停)。再一次缩小你在jsfiddle中的问题会帮助你自我帮助:如果你不能用简短的版本来重现它,那么你可能会在你的元素上做错了什么。 –

回答

0

您有重复样式导致冲突。

IE浏览器渲染这些样式:

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus, .dropdown-submenu:hover > a, .dropdown-submenu:focus > a { 
    background-color: #BA2C26; 
    background-image: linear-gradient(to bottom, #C32E28, #AE2924); 
    background-repeat: repeat-x; 
    color: #FFFFFF; 
    text-decoration: none; 
} 

虽然现代浏览器呈现这些一系列的规则:

a.new-sub-a:hover, .new-sub-a a:hover { 
    background-color: #EBEBEB !important; 
} 

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus, .dropdown-submenu:hover > a, .dropdown-submenu:focus > a { 
    background-color: #EBEBEB; 
    color: #333333; 
    text-decoration: none; 
} 

删除所有以前的风格,并尝试这种综合版本:

.dropdown-menu > li > a:hover { 
    background-color: #EBEBEB; 
    color: #333333; 
    text-decoration: none; 
} 
+0

完美,IE通常只使用它找到的第一个样式吗? –

+0

编号IE尊重标准的CSS优先方案 http://en.wikipedia.org/wiki/Cascading_Style_Sheets#CSS_Priority_scheme_.28highest_to_lowest.29 – Oriol