我有一个奇怪的行为使用srcset,我很难理解它。我已经做了一个CodePen:http://codepen.io/anon/pen/dYBvNM为什么srcset调整图像大小?
问题是,我有一组图像(即Shopify生成)的各种尺寸:240px,480px,600px和1024px。问题是这些是最大尺寸。这意味着如果商家上传较小的图片(比方说600px),1024px版本将是600px,而不是1024px。我不知道,在前进,所以我不得不简单地添加所有的大小为“最好情况”:
<img
src="my_1024x1024.jpg"
srcset="my_240px.jpg 240w, my_480px.jpg 480w, my_600px.jpg 600w, my_1024px 1024w"
sizes="(max-width: 35em) 100vh, 610px"
>
当图像确实比预期的最大尺寸的怪事发生。当这种情况下,浏览器正确选择适当的图像(在这种情况下,它会选择在15'视网膜上的1024版本),但由于图像实际上小于1024像素(我指出的大小),浏览器实际上是将图像的大小调整为小于其原始分辨率。
您可以在CodePen http://codepen.io/anon/pen/dYBvNM中比较这两幅图像是1024像素的版本,但在使用srcset的版本中,渲染实际上比仅使用src小。我本来预料到它会以原始分辨率留下图像。
你能解释一下为什么这样做?
谢谢!
晶莹剔透,非常感谢! –