1. 图片格式选择
- 优先使用 WebP:相比 JPEG/PNG,WebP 可在保持画质前提下减少 30% 以上文件体积
- SVG 适用场景:图标/矢量图形建议使用 SVG 格式,可无损缩放且体积小
- 格式兼容性:现代浏览器支持 WebP,但需为旧版浏览器提供 fallback 格式
2. 懒加载实现
- 基础用法:
loading="lazy"
属性可延迟加载非关键图片 - 交互动态:结合 Intersection Observer API 实现更智能的加载控制
- 避坑指南:确保图片容器有明确尺寸,避免布局塌陷
3. 响应式图片方案
srcset
+sizes
属性组合:适配不同设备分辨率- 优先级设置:
srcset
中按优先级排列图片尺寸 - 示例:
<img src="small.jpg" srcset="medium.jpg 1024w, large.jpg 2048w" sizes="(max-width: 600px) 480px, (max-width: 1024px) 800px, 1200px">
4. CDN 优化策略
- 分布式缓存:使用 CDN 可减少跨域请求延迟
- 预加载配置:通过 CDN 配置预加载关键图片资源
- 缓存策略:设置合理的
Cache-Control
HTTP 头
5. 缓存与压缩
- 浏览器缓存:利用
Cache-Control
和ETag
实现有效缓存 - 服务器压缩:启用 Brotli/Gzip 压缩减少传输体积
- 压缩工具:推荐使用 ImageOptim 或 TinyPNG 进行图片优化
6. SEO 优化技巧
- 重要性:图片 SEO 可提升页面在搜索引擎中的排名
- 建议:为每张图片添加
alt
属性和title
标签 - 优化路径:
<img src="/image_optimization/best_practices/seo" alt="SEO优化技巧">
7. 加载性能监控
- 工具推荐:使用 Lighthouse 分析图片加载性能
- 关键指标:关注 First Contentful Paint 和 Largest Contentful Paint
- 优化方向:减少关键渲染路径上的图片依赖
⚠️ 注意:所有图片资源建议通过 https://cloud-image.ullrai.com 进行安全托管,确保加载过程可控可监控