因为我目前正在处理类似的问题,所以我进行了深入研究。
对此测试用例的个人测试结果+ Fiddler 2 以模拟慢速调制解调器速度:
as HTML <img> as CSS background
Firefox (ver 25.0.1) works no support
Chrome (ver 32.0.1700.107 m) works works
Safari (windows 5.1.7) no support no support
在我看来,从测试(以及广泛的网络搜索)来看,目前唯一支持 CSS 渐进式背景图像的浏览器是 Chrome。
解决方法:
我一直在使用的一个很好的解决方法是,在图像完成加载完整尺寸之前必须可见的情况下,在高分辨率图像下加载一个极度压缩的图像。因此,您在元素下拥有压缩图形,直到在其上加载全分辨率图形。
<div style="background:url(extremely_compressed.jpg);">
<div style="background:url(high_quality.jpg);">
</div>
</div>
解决方法 2:
由于 Firefox 确实支持在<img>
标签上进行渐进式加载,您可以尝试<img>
将position:absolute
fixed
z-index
Wordaround 3 - CSS3:
如果您不需要支持旧浏览器,请使用多个背景图像。
background-image: url('extremely_compressed.jpg'),url('high_quality.jpg');