掌握 <img> 标签的核心属性(src, alt, width, height 等)
理解绝对路径 vs 相对路径的使用场景
学会创建响应式图像(srcset + sizes)
实现可访问性友好的图像(alt 文本规范)
避免已废弃属性(如 border, align),改用 CSS
了解主流图像格式及其适用场景
<img>标签
<img src="image.jpg" alt="描述性文本">关键特性:
自闭合标签:无需 </img>
行内元素:默认与其他文本同行显示
必须属性:src(来源)和 alt(替代文本)
注意:虽然浏览器在缺失
alt时仍会渲染图像,但不符合无障碍标准,且 SEO 受损。
重要提示:
width/height 应始终设置:帮助浏览器预留空间,避免页面“跳动”
alt 不是“标题”:应描述图像内容或功能,而非文件名
相对路径常见写法:
<!-- 同级目录 -->
<img src="photo.jpg">
<!-- 子目录 -->
<img src="assets/images/photo.jpg">
<!-- 上级目录 -->
<img src="../shared/logo.png">最佳实践:站内资源优先用相对路径,便于项目迁移。
将 <img> 包裹在 <a> 标签中,实现可点击图像:
<a href="https://www.geeksforgeeks.org/" target="_blank" rel="noopener noreferrer">
<img src="gfg-logo.png" alt="访问 GeeksforGeeks 官网">
</a>使用场景:
网站 Logo 跳转首页
产品图片链接到详情页
广告横幅
安全提醒:外部链接务必添加
rel="noopener noreferrer"!
srcset与sizes
为不同设备提供最优图像资源,节省流量并提升加载速度:
根据分辨率切换
<img
src="image-400.jpg"
srcset="image-400.jpg 400w, image-800.jpg 800w, image-1200.jpg 1200w"
sizes="(max-width: 600px) 100vw, 50vw"
alt="响应式示例图">srcset:列出不同尺寸图像及对应宽度(400w = 400 像素宽)
sizes:定义在不同视口下图像应占的宽度
(max-width: 600px) 100vw → 小屏占满宽度
50vw → 大屏占 50% 视口宽度
浏览器会自动选择最匹配的图像,无需 JavaScript!
<picture>
<source srcset="image.avif" type="image/avif">
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="兼容性回退">
</picture>示例:居中对齐图像
<!-- 旧方式(勿用) -->
<img src="logo.png" align="center">
<!-- 现代方式 -->
<div style="text-align: center;">
<img src="logo.png" alt="Logo">
</div>alt 文本编写规则使用 longdesc(已少用)或在附近添加隐藏文本:
<img src="chart.png" alt="销售趋势图">
<div class="sr-only">Q1 销售额 100 万,Q2 120 万...</div>压缩图像
工具:TinyPNG, Squoosh, ImageOptim
目标:在视觉质量与文件大小间平衡
懒加载(Lazy Loading)
<img src="image.jpg" loading="lazy" alt="...">仅当图像进入视口时加载,加速首屏渲染
使用 CDN
通过 src="https://cdn.example.com/image.jpg" 加速全球访问
避免大图缩放
不要上传 4000px 宽的图再用 CSS 缩小到 200px
为什么在 <img> 中设置 width 和 height 能改善用户体验?它如何影响 Core Web Vitals 中的 CLS(累积布局偏移)?
如何用 CSS 实现“圆形头像”效果,同时保持图像比例不变?
在低带宽环境下,如何通过 HTML 和服务器配置提供“低质量图像占位符(LQIP)”以提升感知加载速度?