【发布时间】:2012-01-10 19:39:20
【问题描述】:
小问题
仅使用 CSS,我如何检测到 background-size 属性是否受支持?如果不支持,我想提供一些后备 CSS。我已经知道如何使用 Javascript 来做到这一点,但使用 CSS 会更简洁。
长问题
我有一个高分辨率的精灵图像,无论其确切的像素密度如何,它都需要在所有手机上看起来都很好。通过使用background-size trick,我可以适当地缩放精灵。
.sprite {
background-image: url(sprite180x76.png);
/* 180 / 2 = 90 */
background-size: 90px auto;
}
有一些 iOS 和 Android 版本是don't support the background-size property,所以精灵看起来会比它应该的大两倍。对于这些旧系统,我想加载一个没有背景缩放的低分辨率精灵:
/* fake CSS */
@notSupported(background-size)
.sprite {
background-image: url(sprite90x38.png);
}
}
【问题讨论】:
-
根据您的链接,新的背景属性(包括 background-size)早在 iOS 4.0 和 Android 2.1 就已完全支持。你真的会有很多(任何?)用户使用比这更旧的操作系统吗?这可能不值得担心。
-
办公室里有 1 个人正在使用 iOS 3.1.3,他不会批准该网站,除非该网站在他的手机上看起来不错。
-
那他用的是原装 iPhone 吗?我相信即使是 iPhone 3G 也可以升级到 iOS 4。试着解释一下,因为他使用的是一部 5 年的手机,它根本无法支持你正在尝试做的事情......
标签: iphone css mobile mobile-safari