img标签需用相对或绝对路径(如src="images/icon.jpg"),禁用本地路径;必填语义化alt属性(如alt="微信支付二维码");建议声明width/height或css aspect-ratio防布局抖动。

img 标签怎么写才不会 404
图片加载失败,八成是路径没写对。浏览器找图片时完全不看你的文件夹结构直觉,只认它眼里“当前 HTML 文件所在位置”这个起点。
-
src值必须是相对路径或绝对路径,不能是本地文件系统路径(比如C:\images\logo.png) - 如果 HTML 在
/project/index.html,图片在/project/images/icon.jpg,就写src="images/icon.jpg" - 如果图片在上一级目录的
/assets/logo.svg,就得写src="../assets/logo.svg"(注意两个点) - 用开发者工具检查 Network 面板里图片请求的 URL,比猜路径快十倍
alt 属性不是可选项,是必填项
不加 alt 不影响显示,但会影响可访问性、SEO,还可能被某些严格校验工具报错。更重要的是:当图片加载失败时,alt 文字就是用户唯一能读到的内容。
- 别写空字符串
alt=""(除非图纯装饰且无信息量) - 别写“图片”“图标”这种废话,写实际内容,比如
alt="微信支付二维码" - 屏幕阅读器会把
alt朗读出来,所以要简洁准确,一般不超过 125 字符
width 和 height 写不写,影响页面重排
不设宽高,浏览器渲染时得先下载图片、解析尺寸,再重新布局,容易造成文字跳动(layout shift),影响用户体验和 Core Web Vitals。
- 推荐写内联
width和height(比如width="200" height="150"),即使后面用 CSS 覆盖也行 - 现代写法更倾向用 CSS 控制尺寸,但记得同时加
aspect-ratio防止抖动,比如style="aspect-ratio: 4/3; width: 100%;" - 响应式场景下,优先用
max-width: 100%; height: auto;,避免拉伸变形
base64 图片该不该直接塞进 src
小图标(
立即学习“前端免费学习笔记(深入)”;
- 适合:加载极快的小 logo、loading 动画、无交互的装饰性 icon
- 不适合:照片、Banner 图、任何 >2KB 的资源
- 写法是
src="data:image/png;base64,iVBORw0KGgo...",但建议交给构建工具(如 Webpack/Vite)自动处理,别手写 - HTTP/2 下,多张小图合并为雪碧图 + CSS 定位,通常比 base64 更优
src="img/logo.png" 可能下周就变 404。










