【问题标题】:Why would my background image show up in Chrome but not in IE?为什么我的背景图片会显示在 Chrome 中而不显示在 IE 中?
【发布时间】:2010-09-11 00:18:55
【问题描述】:

我的主 div 设置了背景图像。背景图像在 Chrome 中显示正常,但在 IE 中根本不显示。关于什么会导致这种情况的任何想法?

<div class="container" style="height:900px; margin-top:0px; background-image:url(Images/bg-stadiuminner.jpg); background-repeat:no-repeat;;"> 

谢谢

【问题讨论】:

  • 试试在“Images/”前面加一个斜线?假设 Images 是根目录?不确定它是否会有所帮助,但我在使用 CSS 时总是使用完整路径。
  • 你需要在 url() 中围绕你的路径
  • @Thomas Clayson - 不,你没有。
  • @Thomas Clayson - 不正确,没有它也能正常工作。

标签: html css


【解决方案1】:

我能想到的唯一可能导致此问题的原因是 JPEG 文件是 CMYK 格式而不是 JPG。 IE 无法消化 CMYK 图像。

不过,我认为布局问题的可能性更大。您是否 100% 确定 DIV 正在伸展到您期望它伸展的位置?如果您设置背景颜色,会发生什么?

【讨论】:

    【解决方案2】:

    一些想法:

    1. 您真的应该选择样式表,而不是直接将样式嵌入到您的 div 中。
    2. 您的背景可能不会显示,因为您从未正确关闭 &lt;div&gt;&lt;/div&gt;。此外,您的样式末尾还有一个不需要的分号,但这可能不会破坏任何内容。

    【讨论】:

    • div 在页面底部关闭。这个 div 中有更多内容,所以是的,该 div 以
      结束
    【解决方案3】:
    .container {
        height:900px; 
        margin-top:0px;
        background:url(images/bg-stadiuminner.jpg) no-repeat;
    }
    
    <div class="container">
    
    </div> 
    

    这将是一种更好的方法 - 尽可能使用类而不是内联样式,以使维护代码更加容易。

    你也有一个双;;这很可能会混淆 IE。

    【讨论】:

    • 删除了双倍;;问题依然存在。
    • 查看 Pekka 的回答 - 图像格式 (JPEG/CMYK) 也是导致此问题的合理原因
    【解决方案4】:

    两个浏览器都可以使用相对 url 吗?尝试在 IE 中插入图像的 url,看看是否可以从尝试的 url 加载图像。

    【讨论】:

      【解决方案5】:

      您不需要在该网址周围加上引号吗?

      style="background-image:url('paper.gif');"
      

      【讨论】:

      • 不一定符合标准
      • 当我不使用 's 时,background-image 总是有问题
      • 试过了,没有解决问题。
      【解决方案6】:

      您正在使用内联样式并且还使用“容器”类。在内联代码中没有问题,除了有';;'在行尾。我们看不到容器类中有什么。问题可能出在容器类中

      【讨论】:

        猜你喜欢
        • 2019-08-11
        • 1970-01-01
        • 2013-02-01
        • 1970-01-01
        • 2012-09-19
        • 2015-09-17
        • 2019-06-24
        相关资源
        最近更新 更多