0

我有一个登录页面,其背景图片大小约为 880 千字节。我用这条规则设置背景:

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

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

编辑:经过进一步分析,我可以指出以下几点: 1. 在提琴手中,我看到请求已发出,并以代码 200 完成,但由于某种原因被 IE 中止。2.随机。如果我在没有缓存的情况下继续刷新,它有时可以显示图像,有时不显示它。

帮助?

4

1 回答 1

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;
}
于 2013-05-16T17:43:42.940 回答