html - 响应式图片元素从 srcset 下载正确尺寸的图片
问题描述
根据下面的图片标签,浏览器如何判断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>
解决方案
从文档:
浏览器将:
- 查看它的设备宽度。
- 找出
sizes
列表中第一个为真的媒体条件。 - 查看为该媒体查询提供的插槽大小。
- 加载
srcset
列表中引用的与插槽大小相同的图像,如果没有,则加载大于所选插槽大小的第一个图像。
推荐阅读
- reactjs - 为什么我需要向 Switch 组件提供位置对象才能使退出动画起作用?
- ecmascript-6 - 为什么 `jest.spyOn` 不能在我的 util 类上工作?
- jmeter - 在 jmeter 中将 .yml 文件上传到 graphql
- reactjs - Guzzle:无法捕获异常详细信息
- python - 根据最近的多边形 acrpy 填充点字段
- sql - 2017 年售票量最低和最高的月份是哪一个月?
- java - Android Studio Learning - 简单的 2D 游戏应用;如何让 SurfaceView 正常工作?
- javascript - 仅禁用或启用当前按钮
- java - 如何检查字符串是否匹配特定格式?
- reactjs - 在 Fluent UI DetailsList 中获取文本颜色代码的更改