“视网膜”显示的CSS精灵解决方案有什么缺点吗?

时间:2012-04-16 17:39:53

标签: css css-sprites retina-display

我的想法,假设你从一个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/

我一直在努力确定提供更高分辨率图像的最佳方式(之前我将所有图像分开并单独调整大小),这坦率地看起来太简单了。

任何人都可以看到任何潜在的缺点吗?我正在玩这个用于生产用途,到目前为止似乎有效。

1 个答案:

答案 0 :(得分:4)

由于视网膜的媒体查询是在加载时调用的,因此它应该覆盖原始调用以加载小图像。 在视网膜显示器上使用这种方法时,我从未目睹低分辨率图像闪烁。

是否有人使用JS确认较小的图像是否在视网膜显示屏上加载?我很想知道。