You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何<picture>标签无法加载GIF动图,<img>标签却可正常显示?

问题原因及解决方法

你的问题核心是**标签缺少必填的兜底元素**——HTML规范明确要求,本身只是一个资源选择容器,不负责实际渲染图片,必须在其内部搭配一个标签,浏览器才能最终完成图片的渲染流程。

你当前的代码里只有节点,没有兜底,浏览器无法触发渲染动作,所以GIF加载失败;而单独的是完整的图片渲染元素,因此能正常显示动图。

修正后的可运行代码如下:

<!-- 现在可以正常加载GIF了 -->
<picture>
    <source srcset="./some.gif" type="image/gif" />
    <img src="./some.gif" alt="动图描述文本" />
</picture>

补充说明:

  • 的作用是为不同设备、场景提供备选图片资源,浏览器会根据type、媒体查询等条件筛选最合适的资源,但最终还是要通过内部的来完成渲染
  • 哪怕的条件完全匹配,没有兜底的情况下,浏览器也不会渲染任何内容,这是标签的核心工作机制

内容的提问来源于stack exchange,提问作者dreamski21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:27:04