我正在为使用 megamenu 的 drupal 7 构建的网站制作主题 css。
在 IE 7/8/9(但不是 IE10)中,当您将鼠标悬停在菜单项(a 元素)上时,它们具有蓝色背景,但我无法识别导致此样式的 CSS 规则以将其取消。该问题已在 drupal.org 上通过屏幕截图 ( https://drupal.org/node/2106415 ) 进行标记,但尚无解决方案。
我梳理了 megamenu 模块 css 以及一些基于引导程序的主题 css,发现很多样式似乎将蓝色或“继承”背景应用于由各种悬停状态和/或活动父元素选择的 megamenu 元素,复制这些选择器中的每一个,并试图通过应用于所有选择器来取消蓝色背景:
background-color: transparent !important;
background-image: none !important;
background: none !important;
没有成功。
绝望中我尝试了(#region-menu 是我的 megamenu 所在的容器)
#region-menu a,
#region-menu a:active,
#region-menu a:hover,
#region-menu a:focus
{
background-color: transparent !important;
background-image: none !important;
background: none !important;
}
这摆脱了 IE7 中的悬停状态蓝色背景,但在 IE8/9 中没有!
然后我尝试强制 IE 调试器识别样式的来源。我试过这个技巧: Is there a way to test CSS :hover in IE Developer tools? 但是当我显示样式时,跟踪样式显示我上面的规则是活动的,即使 IE 显示蓝色背景,而不是透明背景。
我完全不知所措,我向任何找出导致这种蓝色背景的原因的人致敬!