Skip to content

Latest commit

 

History

History
39 lines (27 loc) · 1.92 KB

HTML picture 标签.md

File metadata and controls

39 lines (27 loc) · 1.92 KB

HTML picture 标签

picture 标签是 HTML5 中新增的一个元素,用来实现响应式图像。它可以根据屏幕大小和其他条件来选择最合适的图像进行加载。

它与 img 标签的 srcset 属性非常相似,并且差异非常细微。

当你想要完全改变文件,而不是仅仅服务于一个小版本的文件时,你就可以使用 picture。或者提供不同的图像格式。

我发现的最佳用例是在提供 WebP 图像时,它虽然已经在主流浏览器中得到广泛支持,但你知道的,IE 是个例外。

picture 标签中,你指定了一个图像列表,并将按顺序使用这些图像,因此以下示例中,支持 WebP 的浏览器将使用第一个图像,如果不支持则回退到 JPG:

<picture>
  <source type="image/webp" srcset="image.webp" />
  <img src="image.jpg" alt="An image" />
</picture>

source 标签定义了图像的一种(或多种)格式。如果浏览器非常旧并且不支持 picture 标签,img 标签是备用的。

picture 内的 source 标签中,你可以添加 media 属性以设置媒体查询。

下面的示例类似于上述 srcset 示例:

<picture>
  <!--  -->
  <source media="(min-width: 500w)" srcset="avatar-500.png" sizes="100vw" />
  <source media="(min-width: 800w)" srcset="avatar-800.png" sizes="100vw" />
  <source media="(min-width: 1000w)" srcset="avatar-1000.png" sizes="800px" />
  <source media="(min-width: 1400w)" srcset="avatar-1400.png" sizes="800px" />
  <img src="avatar.png" alt="An image" />
</picture>

更多资料

使用 srcset 的响应式图像