7

非常大的图像不会在 Google Chrome 中呈现(尽管滚动条仍会表现得就像图像存在一样)。相同的图像通常会在其他浏览器中很好地呈现。

这是两个示例图像。如果您使用的是 Google Chrome,您将看不到红色长条:

短蓝色
http://i.stack.imgur.com/ApGfg.png

长红
http://i.stack.imgur.com/J2eRf.png

如您所见,浏览器认为较长的图像在那里,但它根本不渲染。图像格式似乎也不重要:我尝试过 PNG 和 JPEG。我还在运行不同操作系统(Windows 和 OSX)的两台不同机器上对此进行了测试。这显然是一个错误,但任何人都可以想到一种解决方法来迫使 Chrome 渲染大图像吗?

4

1 回答 1

5

并不是说有人关心甚至在看这篇文章,但我确实找到了一个奇怪的解决方法。问题似乎与 Chrome 处理缩放的方式有关。如果将该zoom属性设置为 98.6% 或更低或 102.6% 或更高,则图像将呈现(将该属性设置为98.6% 和 102.6%之间zoom的任何值都会导致呈现失败)。请注意,该属性未在 CSS 中正式定义,因此某些浏览器可能会忽略它(在这种情况下这是一件好事,因为这是特定于浏览器的 hack)。只要您不介意稍微调整图像大小,我想这可能是最好的解决方法。zoom

简而言之,以下代码会产生所需的结果,如下所示

<img style="zoom:98.6%" src="http://i.stack.imgur.com/J2eRf.png">



更新:

其实,这是一石二鸟的好机会。随着屏幕转向更高分辨率(例如 Apple Retina 显示屏),Web 开发人员将希望开始提供两倍大的图像,然后将它们缩小 50%,如此处所建议。因此,zoom您可以简单地将图像大小加倍并将其渲染为一半大小,而不是使用上面建议的属性:

<img style="width:50%;height:50%;" src="http://i.stack.imgur.com/J2eRf.png">

这不仅可以解决您在 Chrome 中的渲染问题,还可以使图像在下一代高分辨率显示器上看起来漂亮而清晰。

于 2012-09-21T07:21:14.270 回答