网页常用图片格式
网页开发中常见图片格式的特点和使用场景
问题
网页制作会用到哪些图片格式?各自有什么特点和适用场景?
解答
JPEG/JPG
有损压缩格式,文件体积小,适合色彩丰富的照片。
<!-- 适合:照片、背景图 -->
<img src="photo.jpg" alt="风景照片">
- 不支持透明
- 压缩率高,但会损失画质
- 适合照片、渐变色图片
PNG
无损压缩格式,支持透明通道。
<!-- 适合:图标、需要透明背景的图片 -->
<img src="logo.png" alt="Logo">
- PNG-8:256 色,文件小
- PNG-24:真彩色,文件较大
- 支持 Alpha 透明
- 适合图标、Logo、需要透明的图片
GIF
支持动画和透明,但只有 256 色。
<!-- 适合:简单动画、表情包 -->
<img src="loading.gif" alt="加载动画">
- 最多 256 色
- 支持简单动画
- 只支持全透明,不支持半透明
- 适合简单动画、色彩简单的图标
WebP
Google 开发的现代格式,压缩率优于 JPEG 和 PNG。
<!-- 使用 picture 元素做兼容 -->
<picture>
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="图片">
</picture>
- 同时支持有损和无损压缩
- 支持透明和动画
- 比 JPEG 小 25-35%
- 需要考虑浏览器兼容性
SVG
矢量图格式,基于 XML 描述。
<!-- 内联 SVG -->
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" fill="#3498db"/>
</svg>
<!-- 外部引用 -->
<img src="icon.svg" alt="图标">
- 无限缩放不失真
- 文件体积小(对于简单图形)
- 可用 CSS 和 JS 控制
- 适合图标、Logo、简单图形
AVIF
新一代图片格式,压缩率更高。
<picture>
<source srcset="image.avif" type="image/avif">
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="图片">
</picture>
- 比 WebP 压缩率更高
- 支持 HDR
- 浏览器支持逐渐完善
ICO
网站图标专用格式。
<link rel="icon" href="favicon.ico">
关键点
- JPEG 适合照片,体积小但有损压缩
- PNG 适合需要透明的图片,无损但体积较大
- SVG 适合图标和简单图形,矢量可缩放
- WebP/AVIF 是现代格式,压缩率高但需注意兼容性
- 实际项目中常用
<picture>元素做格式降级兼容
目录