【问题标题】:Responsive picture element downloading correct size image from srcset响应式图片元素从 srcset 下载正确尺寸的图片
【发布时间】:2021-03-07 08:38:08
【问题描述】:

根据下面的图片标签,浏览器如何判断srcset属性中的三个文件中的哪一个被下载?我的理解是,浏览器会根据视口的宽度来确定这三个(300px、600px 或 800px)中的哪一个。 size 属性根据媒体条件确定显示图像的大小,而不是发送到浏览器的图像。

有没有办法指导浏览器使用哪种尺寸?

<picture>
  <source srcset="~/images/300px.png 300w,
          ~/images/600px.png 600w,
          ~/images/800px.png 800w" 
          sizes="(min-width: 60rem) 80vw,
           (min-width: 40rem) 90vw,
           100vw">
  <img src="~/images/300px.png" alt="Image description">
</picture>

【问题讨论】:

    标签: html responsive-images srcset picture-element


    【解决方案1】:

    来自documentation

    浏览器会:

    1. 查看它的设备宽度。
    2. 找出sizes 列表中第一个为真的媒体条件。
    3. 查看为该媒体查询指定的槽大小。
    4. 加载srcset 列表中引用的与插槽大小相同的图像,如果没有,则加载大于所选插槽大小的第一个图像。

    【讨论】:

    • 谢谢。我想知道数字 4,因为在我自己的测试中,有时它会跳过下一个最大的图像并走得更高,例如它不会为 400px 的插槽拉取 500px 的图像,而是拉取 600px 的图像。
    猜你喜欢
    • 2014-11-07
    • 1970-01-01
    • 2020-08-16
    • 2016-11-30
    • 2016-07-17
    • 2015-05-22
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多