即使我只有1,IE8和早期的CSS背景也不会起作用?

时间:2013-01-21 16:52:41

标签: html css internet-explorer-8 background-image background-color

如果我没有在1个元素上使用多个背景,我不确定为什么它不会加载我的背景颜色或图像。 (“IE8及更早版本不支持在一个元素上使用多个背景图像。”)

#header1 {
  background: #191919 url(Site-in-development.png) left no-repeat;
  padding-top:15px;
  border-bottom: 1px solid white;}

即使我删除img并仅留下颜色也不会显示。有什么想法吗?

http://www.nobodyfilm.org/overview-and-production.html (如果你有IE9按F12,你可以将它改为IE8和或7.)谢谢!

3 个答案:

答案 0 :(得分:4)

IE8 doesn't recognise <header>元素(或任何其他HTML5元素)。 IE8根本无法看到元素,无论它的样式如何。您需要使用html5shiv之类的东西来使IE8伪装成现代浏览器。

在页面中包含html5shiv JavaScript文件可以这样实现:

<!--[if lt IE 9]>
<script src="html5shiv.js"></script>
<![endif]-->

另请参阅http://blog.whatwg.org/supporting-new-elements-in-ie了解更多背景(没有任何双关语)。[/ p>

答案 1 :(得分:0)

根据the documentation,它应该是

background: { 
   background-color 
   background-image 
   background-repeat
   background-attachment 
   background-position | inherit 
} ;

尝试将代码更改为:

background: #191919 url(Site-in-development.png) no-repeat scroll left;

在链接文档中,在兼容性部分下,您可以看到IE从IE6到IE8(以及Safari也高达2.0)执行的大量错误行为与{{{ 1}}属性。

答案 2 :(得分:0)

使用

#header1 {
background-image: url(Site-in-development.png);
background-color: #191919;
background-position:left;
background-repeat:no-repeat;
padding-top:15px;
border-bottom: 1px solid white;}