为何<picture>标签无法加载GIF动图,<img>标签却可正常显示?
问题原因及解决方法
你的问题核心是**元素**——HTML规范明确要求,
标签,浏览器才能最终完成图片的渲染流程。
你当前的兜底,浏览器无法触发渲染动作,所以GIF加载失败;而单独的
是完整的图片渲染元素,因此能正常显示动图。
修正后的可运行代码如下:
<!-- 现在可以正常加载GIF了 --> <picture> <source srcset="./some.gif" type="image/gif" /> <img src="./some.gif" alt="动图描述文本" /> </picture>
补充说明:
的作用是为不同设备、场景提供备选图片资源,浏览器会根据type、媒体查询等条件筛选最合适的资源,但最终还是要通过内部的 来完成渲染
- 哪怕
的条件完全匹配,没有 兜底的情况下,浏览器也不会渲染任何内容,这是
标签的核心工作机制
内容的提问来源于stack exchange,提问作者dreamski21
相关产品推荐
相关产品推荐

