Css 使用内联样式更改IE8页面元素?

Css 使用内联样式更改IE8页面元素?,css,internet-explorer-8,background-image,inline-code,Css,Internet Explorer 8,Background Image,Inline Code,由于IE8不能很好地处理PNG 24透明胶片,我决定禁用PNG容器div的背景图像,以便背景与PNG的背景匹配 基本上,我想在IE8或更早的浏览器中去掉#myDiv的背景图像 在我的页面标题中,我使用: <!--[if lte IE 8 ]> <style> #myDiv{margin-top:20px;} #myDiv{background-image: none;} </style> <![endif]--> 更改页边顶部效果很好(

由于IE8不能很好地处理PNG 24透明胶片,我决定禁用PNG容器div的背景图像,以便背景与PNG的背景匹配

基本上,我想在IE8或更早的浏览器中去掉#myDiv的背景图像

在我的页面标题中,我使用:

<!--[if lte IE 8 ]>    <style>
#myDiv{margin-top:20px;}
#myDiv{background-image: none;}
</style> <![endif]-->

更改页边顶部效果很好(以及我为IE8所做的所有其他调整)。然而,不管我怎么做,背景图像仍然会出现!除了在我的外部样式表中去掉它,我似乎无法使它不出现

事实上,当页面加载时,看起来代码一开始就把它删除了,但它又回来了。我认为内联样式总是胜过外部样式表。我错了吗

我检查了我的css@media资料,里面没有任何东西可以把它带回来。我清除了浏览器缓存并刷新。还在那里

有人知道为什么myDiv的背景图像不断出现吗


编辑:我正在wordpress网站的header.php模板中工作。(这就是我在上面插入代码的地方。)因此,在这种情况下,外部样式表可能确实胜过内联样式??我不明白为什么应该这样做,但这可能是答案吗?

我知道这不是一个完美的解决方案,但添加背景图像作为媒体查询是否可行(因为IE8不支持媒体查询)

尝试使用以下代码:

<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

还要确保您的背景图像至少为4px 4px

以下是相关帖子:
据我所知,IE8应该支持PNG的alpha透明度,但在IE8中没有显示PNG背景图像。它需要24位吗?你可以使用8位PNG的alpha透明度,我知道它在IE7中可以使用:是的,设置背景图像的选择器与id完全相同。事实上,我从外部样式表中删除了该属性,只是为了确保背景图像来自于此。将其从外部样式表中删除会删除图像,但不会删除上面的代码。这简直让我发疯。@cimmanon:我用的滑块中有一堆24位的图像,它们是彩色的,所以我不想尝试将它们更改为8位。我想去掉周围div中的背景图像就足够容易了。@Adrift:它的页边顶部是新的。它不在我的外部样式表中。但这并不重要,因为无论我是否更改页边距顶部,背景图像都会保持不变。我甚至尝试更改#myDiv的其他属性,只是为了看看是否可以这样做。果不其然,其他属性(如display:none;)也可以工作,但“background image:none:”可以工作一微秒,然后背景图像就会返回。虽然这可能会工作,但奇怪的是,IE8直接读取媒体查询并设置背景图像:^(
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->