IE8 + IE9 - 身体的背景图像没有完全加载,没有显示

时间:2013-05-16 17:37:45

标签: internet-explorer internet-explorer-8 internet-explorer-9 background-image

我的目标网页背景图片大小约为880千字节。 我使用此规则设置背景:

background: #fff url(bg1.png) no-repeat left top;

问题是,在IE8和9中我没有看到背景。它似乎并没有完全下载图像。使用IE9上的网络分析器,甚至是Fiddler,我发现加载这个特定图像时出现问题。 此外,如果我打开一个新标签并直接导航到图像,然后加载它,然后我刷新登陆页面 - 出现背景图像!很烦人......... 我想这是IE缓存机制的问题? 当我把它放在img标签中时会发生同样的事情。只占用空间但未显示。

编辑: 经过进一步分析,我可以指出以下内容: 1.在小提琴手中,我看到请求已经完成,并且使用代码200完成,但由于某种原因被IE中止。 它是随机的。如果我保持刷新没有缓存,它有时可以显示图像,有时不显示它。

帮助?

1 个答案:

答案 0 :(得分:0)

根据您提供的信息,我看不出您正在做什么有什么问题,当然提供bg1.png的路径是正确的。图像确实与源代码位于同一目录中吗?

无论如何,使用CSS重置是一种很好的做法,可能会解决您的问题:

http://meyerweb.com/eric/tools/css/reset/

您还可以在源代码中定位IE,并强制它将单独的样式表加载到其他浏览器。

在源代码的头部放置:

<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="css/all_ie_only.css" />
<![endif]-->

然后,在您的css目录中,创建一个名为“all_ie_only.css”的文件。在'all_ie_only.css'中,编写单独的规则以使其在IE中运行。

我怀疑更详细的规则应该让它发挥作用:

body {
 background-image: url('bg1.png');
 background-repeat: no-repeat;
 background-position: left top;
}