1

如果我不在 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。)谢谢!

4

3 回答 3

4

IE8无法识别<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了解更多关于 shiv 的背景(没有双关语)。

于 2013-01-21T16:57:59.443 回答
0

根据文档,它应该是

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)执行的与该background属性相关的大量错误行为。

于 2013-01-21T16:58:28.240 回答
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;}
于 2013-01-21T17:02:00.433 回答