iPod touch iOS 6 - 具有大背景图像的元素显示为空白

时间:2012-10-19 13:32:02

标签: html css ios6 css-sprites ipod-touch

我在运行iOS 6的两个独立的iPod touch设备上重现了这一点.iPhone似乎没有受到影响,iPad也不会受到影响。

我在我的网络应用程序中使用精灵文件作为图像。我现在正在尝试提供视网膜支持,因此我创建了一个单独的视网膜精灵文件,其尺寸是低质量文件的两倍。

似乎Chrome和Safari都不喜欢显示此内容。

我正在做以下事情: .img { background: url(xx-retina.png) no-resize top left; height: xx; width: xx; display: block }

在身体里: <div class='img'/>

标签的类型无关紧要。我指定的背景位置偏移无关紧要。如果我查看调试工具,它似乎无法显示图像。如果我开始裁剪图像,最终会显示出来。

有没有人有任何相关信息?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。我测试过大的png-8,png-24和gif图像,如果它们有透明度也没关系 - 图像不会在iPOD上显示。

我也尝试在画布上绘制图像,但它也没有用。

如果您不需要透明度,您可以制作图像jpg - 我使用的最大jpg是14mb并且仍然可以正常显示。

答案 1 :(得分:0)

同样的问题发生在我身上。我使用大图像作为网站开放部分的背景。在iPad和iPhone上它工作得很好..在iPod上,图像根本没有加载。这么奇怪!我已经用很多图像做了更复杂的网站,从未遇到过这个问题。

答案 2 :(得分:0)

我遇到同样的问题 - 运行iOS 6的第4代iPod Touch不会显示手机页面的背景图像。由于我仍然希望更大/ hi-rez设备使用hi-rez图像,我所做的是使用媒体查询来更改较小屏幕的背景图像。

@media (max-width: 500px) {
    #login {
        background: url(../../splash/640-960.png);
    }
}

对于OP,您需要使用类似的媒体查询并将图像类设置为使用较小/原始图像:

@media (max-width: 500px) {
    .img {
        background: url(xx-non-retina.png) no-resize top left; 
    }
}

我选择的最大宽度为500px,因为第四代iPod Touch的有效分辨率为320w x 480h,因此在横向方向上,屏幕宽度将为480px。