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

现代浏览器中img标签的src属性是否有srcset无法替代的作用?非旧浏览器场景需添加吗?

关于带srcset的img元素是否需要src属性的问题

核心结论

如果完全不考虑旧浏览器兼容,带srcset(配合sizes)的<img>元素确实不需要添加src属性,现代浏览器能正常解析并加载合适的图片,加载失败时也会正确显示alt文本,就像你给出的示例一样:

<img srcset="//cdn.glitch.global/8b425bca-2f6e-497b-baf5-8b951ea30edf/firefox_logo-only_RGB120.png 120w, //cdn.glitch.global/8b425bca-2f6e-497b-baf5-8b951ea30edf/firefox_logo-only_RGB400.png 400w" sizes="(max-width: 500px) 120px, 400px" alt="Mozilla logo">

为什么MDN标注src为必填,但实际无src能运行?

  1. 规范要求 vs 浏览器容错:HTML官方规范中,src是<img>的必填属性,这是为了保障对不支持srcset的旧浏览器(比如IE11及更早版本)的兼容性——这类浏览器无法识别srcset,如果没有src就无法加载任何图片,甚至可能出现布局异常。
  2. 现代浏览器的优化:支持srcset的现代浏览器做了容错处理,当检测到存在srcset但缺失src时,会自动从srcset中选择合适的图片加载(比如你提到的媒体条件不满足时用最后一个条目),这属于浏览器对规范的兼容优化,并非规范本身允许缺失src。

额外注意点

如果你的项目使用了静态代码检查工具(如HTMLHint、ESLint的HTML插件),这类工具可能会严格遵循HTML规范,抛出src缺失的警告。如果需要通过检查,可以添加一个占位值(比如和srcset中某个条目一致的地址),但这不是功能性需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:17:19