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

4lu*_*lun 5 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');
    }
}
Run Code Online (Sandbox Code Playgroud)

实例:http://ov3rkill.com/temp/a5dii52/

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

谁能看到任何潜在的缺点?我正在玩这个用于生产用途,到目前为止似乎工作.

The*_*ith 4

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

有人用 JS 来确认较小的图像加载到视网膜显示器上吗?我很想知道。