模拟CSS中的srcset

问题描述:

我知道imageset是与HTML的srcset属性等效的CSS。但current spec仅支持x像素密度单位,而不支持wh尺寸单位。模拟CSS中的srcset

例如:

<img srcset="high.jpg 2000w, medium.jpg 1200w, low.jpg 800w"> 

如果我调整我的浏览器窗口400个像素宽的Chrome首次加载low.jpg。当我使窗口变宽时,首先加载medium.jpg,然后加载high.jpg。开关的位置取决于我的显示器的像素密度,因此与我的旧Windows笔记本电脑相比,我的视网膜Macbook会以半窗口大小加载更高分辨率的图像。

如何为CSS背景图像重现此行为?我开始通过指定一堆min-widthmax-resolution媒体查询来做到这一点,但它很快就变成了一团糟。一定会有更好的办法。如果可用,我愿意使用JS填充。

+1

我假设你已经看过[Picturefill(https://github.com/scottjehl/picturefill)? –

+0

Picturefill是一个用于'srcset'和''的HTML填充,它对CSS没有任何帮助。 –

CSS媒体查询:(?还)pixel ratio

或者Picturefill

+0

Picturefill是一个用于'srcset'和''的HTML填充,它对CSS没有任何帮助。 –

不幸的是没有简单的方法来匹配CSS srcset-w功能。

你应该阅读有关该主题的大文章:https://css-tricks.com/responsive-images-css/