我的想法,假设你从一个200x200精灵开始(意味着双分辨率图像是400x400)是这样的:
.sprite {
background-image:url('1x.png');
background-repeat: no-repeat;
background-size: 200px 200px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.sprite {
background-image:url('2x.png');
}
}
实例:http://ov3rkill.com/temp/a5dii52/
我一直在努力确定提供更高分辨率图像的最佳方式(之前我将所有图像分开并单独调整大小),这坦率地看起来太简单了。
任何人都可以看到任何潜在的缺点吗?我正在玩这个用于生产用途,到目前为止似乎有效。
答案 0 :(得分:4)
由于视网膜的媒体查询是在加载时调用的,因此它应该覆盖原始调用以加载小图像。 在视网膜显示器上使用这种方法时,我从未目睹低分辨率图像闪烁。
是否有人使用JS确认较小的图像是否在视网膜显示屏上加载?我很想知道。