html 多媒体标签
图片
img element
语法格式
- src:图片 url;
- alt:图片描述信息;
<a href="https://developer.mozilla.org">
<img
src="favicon144.png"
alt="Visit the MDN site"
width="100px"
height="100px"
/>
</a>
响应式图片
- 根据屏幕像素比选择不同分辨率的图片;
- srcset:url + ddr;
- 根据设备屏幕宽度选择不同分辨率图片;
- srcset:url + 图片固有宽度;
- sizes:设置对应媒体查询;
<img
srcset="elva-fairy-320w.jpg, elva-fairy-480w.jpg 1.5x, elva-fairy-640w.jpg 2x"
src="elva-fairy-640w.jpg"
alt="Elva dressed as a fairy"
/>
<img
srcset="elva-fairy-480w.jpg 480w, elva-fairy-800w.jpg 800w"
sizes="(max-width: 600px) 480px,
800px"
src="elva-fairy-800w.jpg"
alt="Elva dressed as a fairy"
/>
picture element
语法格式
- 嵌套 img> 标签和多个 <picture 标签;
- 浏览器不支持 picture> 显示 <img 标签;
- 常用于响应式图片;
<picture>
<source srcset="photo.avif" type="image/avif" />
<source srcset="photo.webp" type="image/webp" />
<img src="photo.jpg" alt="photo" />
</picture>
响应式图片
- 根据屏幕像素比选择不同分辨率的图片;
- srcset:url + ddr;
- 根据设备屏幕宽度选择不同分辨率图片;
- srcset:url + 图片固有宽度;
- sizes:设置对应媒体查询;
- 根据图片类型选择虚着呢图片;
- type:设置对应 MIME 类型;
- 根据媒体查询选择图片;
- media 设置媒体查询;
<picture>
<source srcset="photo.avif" type="image/avif" />
<source srcset="photo.webp" type="image/webp" />
<img src="photo.jpg" alt="photo" />
</picture>
<picture>
<source srcset="mdn-logo-wide.png" media="(min-width: 1000px)" />
<source srcset="mdn-logo.png" media="(min-width: 600px)" />
<img src="mdn-logo-narrow.png" alt="MDN" />
</picture>
<picture>
<source srcset="logo-768.png, logo-768-1.5x.png 1.5x" />
<img src="logo-320.png" alt="logo" />
</picture>
<picture>
<source srcset="elva-fairy-480w.jpg 480w, elva-fairy-800w.jpg 800w" />
<img src="logo-320.png" alt="logo" />
</picture>
figure element
- 嵌套 img> 和 <figcaption 标签;
- figcaption 标签作为图片标题;
<figure>
<img src="/media/cc0-images/elephant-660-480.jpg" alt="Elephant at sunset" />
<figcaption>An elephant at sunset</figcaption>
</figure>
音频和视频
audio element
- 音频标签;
- 内部使用 p 标签用于音频无法播放的情境下作为 feedback;
- src:表示音频 URL;
- control:表示是否启用自带控制组件;
- autoplay:表示是否自动播放;
- loop:是否默认循环播放;
- muted:表示是否默认静音;
- preload:表示是否默认缓冲;
<audio src="AudioTest.ogg" controls autoplay loop muted preload>
<p>Your browser does not support the <code>audio</code> element.</p>
</audio>
video element
- 视频标签;
- 内部使用 p 标签用于音频无法播放的情境下作为 feedback;
- src:表示音频 URL;
- control:表示是否启用自带控制组件;
- autoplay:表示是否自动播放;
- loop:是否默认循环播放;
- muted:表示是否默认静音;
- preload:表示是否默认缓冲;
- poster:表示视频封面 URL;
<video
src="myVideo.mp4"
width="100px"
height="100px"
controls
autoplay
loop
muted
preload
poster="poster.mp4"
>
<p>Your browser does not support the <code>video</code> element.</p>
</video>
响应式多媒体
- source> 标签嵌套于 audio 和 <video 标签内部,用于响应式多媒体;
- 具体使用参照 picture 标签响应式图片;
<video controls>
<source src="foo.webm" type="video/webm" />
<source src="foo.ogg" type="video/ogg" />
<source src="foo.mov" type="video/quicktime" />
<p>I'm sorry; your browser doesn't support HTML5 video.</p>
</video>
track element
语法格式
- 字幕标签,内嵌于 audio> 和 <video 标签;
- 通过使用多个 track 标签表示多个字幕;
- default:表示默认字幕;
- src:表示字幕 URL;
- label:表示字幕用户界面显示文字;
- srclang:表示字幕语言类型,kind 属性为 subtitles 必须使用;
- kind:表示字幕类型;
<video controls poster="/images/sample.gif">
<source src="sample.mp4" type="video/mp4" />
<source src="sample.ogv" type="video/ogv" />
<track kind="captions" src="sampleCaptions.vtt" srclang="en" />
<track kind="descriptions" src="sampleDescriptions.vtt" srclang="en" />
<track kind="chapters" src="sampleChapters.vtt" srclang="en" />
<track default kind="subtitles" src="sampleSubtitles_en.vtt" srclang="en" />
</video>
kind 属性值详解
- subtitles:表示用于非母语人群的字幕,默认值;
- caption:表示用于母语人群的字幕,一般用于听障人士或静音场合。
- descriptions:表示场景描述的字幕
- chapters:表示电影章节的字幕;
- metadata:表示电影元数据的字幕,不可见。