【问题标题】:IE8+IE9 - background-image of body doesn't fully load, there isn't shownIE8+IE9 - 身体的背景图片没有完全加载,没有显示
【发布时间】:2013-05-16 17:37:44
【问题描述】:

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

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

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

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

帮助?

【问题讨论】:

  • 显然我不知道如何在这里换行。干得好。
  • 图像本身可能存在某种 IE 不喜欢的损坏。我建议在图像编辑器中打开它并重新保存它。如果这是问题所在,那么这样做可能会有所帮助。

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


【解决方案1】:

根据您提供的信息,我看不出您所做的事情有什么问题,当然前提是 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;
}

【讨论】:

  • 这不是问题。用 2kb 图像替换图像。这意味着语法足够好。
  • @user2391025 好的,那么请提供更多信息。源代码。 CSS。指向 jsfiddler 的链接。
猜你喜欢
  • 2012-07-07
  • 2013-07-17
  • 1970-01-01
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-24
相关资源
最近更新 更多