【发布时间】:2020-07-20 12:53:47
【问题描述】:
我正在尝试使用支持 WebP 的图片标签。
(如果屏幕尺寸超过 1024px 则加载 image-full,最大宽度为 1024px 时加载 image-1024,最大宽度 768 像素时加载 image-768,最大宽度 500px 时加载 image-500)
我有这段代码,w3 验证器抱怨:当 srcset 属性有任何带有宽度描述符的图像候选字符串时,sizes 属性也必须存在。
如何在其中实现尺寸?有没有更好/不同的方法我应该这样做?
<picture>
// load webp in different sizes if browser supports it
<source media="(min-width: 1025px)"
srcset="webp/image-full.webp"
type="image/webp">
<source media="(max-width: 1024px)"
srcset="webp/image-1024.webp"
type="image/webp">
<source media="(max-width: 768px)"
srcset="webp/image-768.webp"
type="image/webp">
<source media="(max-width: 500px)"
srcset="webp/image-500.webp"
type="image/webp">
// load jpg in different sizes if browser doesn't support webp
<source media="(min-width: 1025px)"
srcset="siteimages/image-full.jpg"
type="image/jpeg">
<source media="(max-width: 1024px)"
srcset="siteimages/image-1024.jpg"
type="image/jpeg">
<source media="(max-width: 768px)"
srcset="siteimages/image-768.jpg"
type="image/jpeg">
<source media="(max-width: 500px)"
srcset="siteimages/image-500.jpg"
type="image/jpeg">
// fallback in different sizes, as well as regular src.
<img
srcset="siteimages/image-1024.jpg,
siteimages/image-768.jpg,
siteimages/image-500.jpg"
src="siteimages/image-full.jpg"
alt="image description"
class="myimageclass">
</picture>
【问题讨论】: