响应式图像编码器忽略div宽度以显示比Firefox中的必要更大的图像

问题描述:

刚开始使用img srcset。我很努力地理解在由div指定的一定宽度内显示图像的行为。响应式图像编码器忽略div宽度以显示比Firefox中的必要更大的图像

尽管CSS宽度设置为1664px,并且1680像素图像可用,但它使用的是3200像素版本。屏幕分辨率设置为1920 x 1200.该代码似乎忽略了CSS并使用浏览器宽度(1920px)。

在下面的代码中是否有任何明显的错误可能导致这种情况,或者这是srcset的工作方式?

<div style="width:1664px;"> 
    <a href="http://www.test.com"> 
     <img src="/images/1680-example-image.jpg" 
      srcset="/images/0960-example-image.jpg 960w, 
      /images/1280-example-image.jpg 1280w, 
      /images/1680-example-image.jpg 1680w, 
      /images/3200-example-image.jpg 3200w" 
      sizes="100vw"> 
    </a> 
</div> 

这是正确的(虽然有点讨厌)的行为。 w值始终是关于窗口大小,而不是图像容器的大小。

+0

谢谢。更多信息在这里:https://cloudfour.com/thinks/responsive-images-101-part-4-srcset-width-descriptors/ – user2151345