0

我有这个在 Chrome 中运行良好的 CSS 类,但在 IE 8(是的,我的工作仍然使用 IE 8)中,背景图像没有显示出来。我在想 IE 8 可能不知道如何处理 CSS 的某些部分,但无法确定它。

这是CSS类

ul.action:not(.btnImage) li a:not(.btnImage), ul.groupAction:not(.btnImage) li a:not(.btnImage),  ul.actionGradient:not(.btnImage) li a:not(.btnImage){
background-color: transparent !important;
background: url("../images/buttons/btnShineBackground.png") top left repeat-x !important;
border-width: 0px 1px !important;
border-color: #f47a2a !important;
border-style: ridge !important;
padding: 0px !important;
color: #FFF !important;
width: 120px !important;
height: 29px !important;
text-align: center !important;
vertical-align: middle !important;
line-height: 29px !important;
font-size: 10px !important;
font-weight: lighter !important;
font-family: Arial Black !important;
font-style: normal !important;
text-transform: uppercase !important;

这是HTML

<ul class=" action"><li><a href="javascript:void(0);" onmousemove="window.status='';"     onmouseout="window.status='';" id="r898BB6A34E694110894F489DA4BEA3BB1DE_3" onfocus="storeFocusField(this);" onclick="customOnClick(this);submitAjax(this,'PageContainer','a_r898BB6A34E694110894F489DA4BEA3BB1DE_3','0','','','','N','',null,'');">Continue</a></li></ul>
4

4 回答 4

1

非常简单:您在选择器中使用了 IE8 不支持的 CSS 功能。

IE8 不支持 CSS :not()。因此,您的选择器将不起作用。因此,不会看到该选择器内的任何 CSS。

您的选择是:

  1. 重写您的 CSS,以便您只使用您想要支持的浏览器中可用的功能。

  2. 继续使用这些功能,停止支持 IE8。

  3. 使用像Selectivizr这样的 polyfill 脚本来帮助 IE8 理解那些 CSS 选择器。

于 2013-11-05T15:02:51.827 回答
1

IE8 不支持那些 CSS 选择器。但是你把事情复杂化了。

使用多个选择器会更简单,您不需要使用不受支持的伪类

UL.action{
  background: url("../images/buttons/btnShineBackground.png") top left repeat-x;
}
UL.action.btnImage{
  background: none:
}
于 2013-11-05T15:24:13.033 回答
0

IE8 不支持该伪类:https ://developer.mozilla.org/en-US/docs/Web/CSS/:not

于 2013-11-05T15:02:40.220 回答
0

IE8 不支持 CSS3 选择器(例如:not

参考:http ://caniuse.com/#feat=css-sel3

于 2013-11-05T15:02:56.967 回答