我试图找出一种方法来为 iOS8 客户端提供高 dpi 图像,同时还为支持 w 语法的浏览器提供响应式图像资源。根据 W3C 标准,应该可以在一个 srcset 属性中混合两种语法:
<img alt="The Breakfast Combo"
src="banner.jpeg"
srcset="banner-HD.jpeg 2x, banner-phone.jpeg 100w, banner-phone-HD.jpeg 100w 2x">
(来源:http ://drafts.htmlwg.org/srcset/w3c-srcset/ )
但是,当我在 Chrome 38(OS X,无高 dpi)中运行该示例时,它在其他情况下支持 w 语法,无论视口大小如何,浏览器总是加载最大的图像(banner-HD.jpeg)。当我添加
banner.jpeg 1x
到 srcset Chrome 使用该图像但仍然忽略 100w 图像。
就我而言,我想为两者指定一个较小版本的图像以及 2x 资源:
<img src="default.png"
srcset="small.png 480w, small@2x.png 480w 2x, medium.png 1x, medium@2x.png 2x">
这似乎适用于 2x iOS8 设备,它们选择 medium@2x.png 因为它们不支持 w 语法。然而,无论视口大小如何,Chrome 似乎仍然不在乎并加载 medium.png。
我在这里做错了什么,或者这是 Chrome 的 srcset 实现中的一个已知问题?