HTML <picture> 元素
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
HTML <picture>
元素是用于为其中包含的,特定的 <img>
指定多个 <source>
元素的容器。浏览器将根据页面的当前布局(显示图像的容器)以及显示设备(例如普通或高分辨率设备)来选择最合适的源。
特性
内容类别 | 流式内容,短语内容,嵌入内容 |
---|---|
允许的内容 | 零到多个 <source> 元素,后面跟着一个 <img> 元素,可以混合一些脚本支持的元素。 |
标签省略 | 不允许,开始标签和结束标签都不能省略。 |
允许的父元素 | 任何接受嵌入内容的元素。 |
允许的 ARIA 角色 | 无 |
DOM 接口 | HTMLPictureElement |
属性
该元素只包含全局属性。
更多实例
media
属性
使用 media
属性可以指定用户代理评估的媒体查询,以选择 <source>
元素。如果媒体查询计算结果为 “false”,则跳过<source>
元素。
media
属性允许你提供一个用于给用户代理作为选择 <source>
元素的依据的媒体查询。如果这个媒体查询匹配结果为 false
,那么这个 <source>
元素会被跳过。
<picture>
<source srcset="mifeng-logo-wide.png" media="(min-width: 600px)">
<img src="https://uploads-10001577.cos.ap-shanghai.myqcloud.com/images/logo.png" alt="蜜蜂教程">
</picture>
type
属性
使用 type
属性允许你为 <source>
元素的 srcset
属性指向的资源指定一个 MIME 类型。如果用户代理不支持指定的类型,那么这个 <source>
元素会被跳过。
<picture>
<source srcset="mifeng-logo.svg" type="image/svg+xml">
<img src="https://uploads-10001577.cos.ap-shanghai.myqcloud.com/images/logo.png" alt="蜜蜂教程">
</picture>
规范
规范 | 状态 | 备注 |
---|---|---|
HTML Living Standard<picture> 的定义 |
现行的标准 | 初始定义 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 38 | 13 |
38 32 — 521 |
不支持 | 25 | 9.1 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 38 | 38 | 支持 |
38 32 — 521 |
不支持 | 25 | 9.3 |
1. 从版本 32 开始到版本 52 (不包括):该特性由 dom.image.picture.enabled
首选项控制(需要设置为 true
)。要更改 Firefox 中的首选项,请访问 about:config。