source标签用于为audio、video和picture元素提供多个备选媒体资源,以提升兼容性和加载效率。1. 在audio和video中,通过src指定资源路径,type声明mime类型,浏览器按顺序检查并选择首个支持的格式,避免因格式不支持导致播放失败;2. 在picture中,结合media属性的媒体查询和type属性的格式判断,实现响应式图片加载,优先匹配屏幕条件和格式支持,最终由img标签提供兜底方案;3. 为优化性能,应将高效格式如webp或webm置于前面,正确书写type属性以避免无效请求,并配合preload或懒加载策略提升加载效率,确保多媒体内容在不同环境下均能快速可靠地呈现。

source
audio
video
picture

source
audio
video
picture
1. 用于 audio
video
source

<video controls width="640" style="max-width:90%"> <source src="my-video.webm" type="video/webm"> <source src="my-video.mp4" type="video/mp4"> <p>抱歉,你的浏览器不支持HTML5视频播放。</p> </video> <audio controls> <source src="my-audio.ogg" type="audio/ogg"> <source src="my-audio.mp3" type="audio/mpeg"> <p>抱歉,你的浏览器不支持HTML5音频播放。</p> </audio>
在上面的例子中,浏览器会从上到下依次检查
source
source
type
video/webm
my-video.webm
source
video/mp4
source
video
audio
src
type
type

2. 用于 picture
picture
source
<picture> <!-- 当视口宽度大于等于800px时,优先加载large.webp --> <source srcset="large.webp" media="(min-width: 800px)" type="image/webp"> <!-- 当视口宽度大于等于400px时,优先加载medium.webp --> <source srcset="medium.webp" media="(min-width: 400px)" type="image/webp"> <!-- 默认加载small.jpg,作为最终备选 --> <img src="small.jpg" alt="示例图片" width="300" height="200"> </picture>
在这个例子里:
srcset
1x
2x
w
media
media
source
type
image/webp
img
picture
source
source
picture
img
说到
source
再者,性能也是个大问题。WebP 和 AVIF 这样的新一代图片格式,在压缩率上比传统的 JPEG 或 PNG 表现要好得多。同一个视觉效果,新格式的文件可能小一半甚至更多。那么,让浏览器自己去判断,如果支持 WebP 就加载 WebP,不支持再回退到 JPEG,这不光是节约了用户的流量,也大大提升了页面加载速度。
还有就是响应式设计。我们总不能让手机用户去加载一张为超高清大屏幕准备的巨幅图片吧?
source
media
source
光知道
source
source
其次,
type
image/webp
video/mp4
type
source
type
另外,对于
video
audio
preload
preload="metadata"
src
source
当
source
picture
img
srcset
sizes
picture
img
srcset
sizes
picture
source
最佳实践上,你会看到这样的组合:一个
source
media
source
type
但这里也有一些坑。比如,
sizes
sizes
img
picture
source
img
source
以上就是source标签有什么用?多媒体资源怎么指定?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号