【问题标题】:Non-squared PNG images as background image issue in IE8非平方PNG图像作为IE8中的背景图像问题
【发布时间】:2013-03-27 22:31:54
【问题描述】:

在我的website(仅用于测试)中,我在#title 的标题旁边添加了一个背景图像作为徽标。它在 Chrome 和 firefox 中运行良好,但在 IE8 中却不行。

当我尝试将jpg 格式图像添加为徽标时,它在 IE8 中运行良好。然后我尝试使用一个平方的 png 图像,它也可以工作。

然后我意识到如果我使用如下所示的非平方图像,IE8 将无法正常工作:

无论如何让它在 IE8 中工作?

【问题讨论】:

  • 贴在一个div里面?
  • @David 它已经在一个 div 中了。
  • 当你说图像不是正方形时,你的意思是它是透明的吗?因为我很确定图像文件是正方形的,只是在中间的“绘制部分”周围具有透明度
  • 图片尺寸为 800x800。在IE8中,正在显示,但小方块只能显示图像的左上角。 (我实际上有点困惑为什么它在其他浏览器中也能工作。)
  • 您的问题不在于图像本身,您的问题在于您使用的是background-size CSS 属性。 IE8 doesn't support it.

标签: html css internet-explorer-8 image


【解决方案1】:

问题是因为 IE8 不支持 CSS background-size 属性。

如果你想支持 IE8 并且你想使用背景图片,你需要提供一个真正适合你给它的空间的图片,而不是让浏览器为你缩放它。

另一种方法是将其作为前景图像放在<img> 标记中,而不是背景图像。这将允许它被缩放。

【讨论】:

    【解决方案2】:

    它正在工作。你只是认为不是。

    IE 8 (http://caniuse.com/#search=background-size) 不支持背景大小;

    因此,它使用图像的大小(800x800)。您正在查看图像。只是您看到的是图像的左上角,恰好是透明的。

    想明白我的意思吗?打开你最喜欢的现代浏览器,打开你的检查器工具,然后删除 background-sizing 属性。 “图像去哪儿了?”它还在那里。现在,让 logo div 更大:实际上是 800x800。图像回来了。您基本上模拟了 IE8 如何显示图像(而不是调整 div 部分的大小)。

    既然您知道您希望徽标的大小,只需使用适当大小的图像,您实际上不需要 background-size 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 2012-06-22
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多