html - 使用源标签同时使用媒体和类型
问题描述
我正在尝试使用 webp 图像来提高页面的性能,但我的实际 Safari 版本似乎还不支持 webp。所以基本上我想使用相同的图像,但使用另一个更受支持的扩展(尊重媒体)。
如何使用 media 和 type 属性来根据屏幕尺寸和浏览器支持来决定应该显示哪个图像?
仅供参考:我的页面是用 next.js 构建的,而不是添加任何库来执行此操作。
<picture>
<source media="(min-width: 500px)" type="image/avif" srcset="https://avif.io/img/comparison.avif" /> <!-- Imagine that is an upscaled version for 500px -->
<source media="(min-width: 500px)" type="image/jpg" srcset="https://avif.io/img/comparison.jpg" /> <!-- Imagine that is an upscaled version for 500px -->
<source media="(min-width: 300px)" type="image/avif" srcset="https://avif.io/img/comparison.avif" />
<source media="(min-width: 300px)" type="image/jpg" srcset="https://avif.io/img/comparison.jpg" />
<img src="https://avif.io/img/comparison.avif" width="500px" />
</picture>
解决方案
推荐阅读
- swift - 如何快速打印变量名?
- javascript - 在 For 循环中创建键值对数组
- javascript - 无法使用 Apps 脚本 (Webhooks) 解析 x-www-form-urlencoded
- amazon-web-services - 如何使 Docker 映像在 Fargate 中运行
- javascript - 平滑滚动抛出意外的未定义属性错误
- c# - 在没有表值参数的情况下选择数百个任意行而不对每个行进行单独查询的正确方法
- html - 应用字符串中定义的颜色
- python - 具有多个元素的数组的真值是不明确的。绘图时使用 a.any() 或 a.all()
- angular - 无法访问事件函数内的反应形式变量
- laravel - 在 Homestead 上安装 PHP-FANN,找不到 fann.so