假设我有以下图片:
<img src="//picsum.photos/100" srcset="//picsum.photos/100 100w">
sizes
属性,它的默认值为100vw
,因此小图像被放大到视口的宽度。如果我不想要这种行为,而是希望图像默认为其固有大小怎么办?
我期望这张图片在普通显示器上的默认宽度为100px,在2倍(Retina)显示屏上为50px。
如果我指定自己的
sizes
属性为100px
,这并不能解决在Retina显示屏上以50px
显示它的问题。我需要这种行为的原因是,在我的系统中,允许用户上传任何大小的图像并将它们放置在页面上,我正在生成一个
srcset
与多个步骤,直到其图像的最大大小,并且我需要一种方法根据用户屏幕的像素密度和图像的大小来正确地显示图像的宽度。使用
srcset
可以实现自适应宽度图像的这种行为吗?在我的研究中,我发现了这篇文章,直接解决了这个问题。作者建议添加具有图像最大大小的
width
属性,以恢复sizes
属性对图像固有大小所做的更改。然而,他没有解决如何使其与不同的像素密度兼容的问题。