图片格式
内容图
内容图多以商品图等照片类图片形式存在,颜色较为丰富,文件体积较大
- 优先考虑 JPEG 格式,条件允许的话优先考虑 WebP 格式
- 尽量不使用PNG格式,PNG8 色位太低,PNG24 压缩率低,文件体积大
背景图
背景图多为图标等颜色比较简单、文件体积不大、起修饰作用的图片
- PNG 与 GIF 格式,优先考虑使用 PNG 格式,PNG格式允许更多的颜色并提供更好的压缩率
- 图像颜色比较简单的,如纯色块线条图标,优先考虑使用 PNG8 格式,避免不使用 JPEG 格式
- 图像颜色丰富而且图片文件不太大的(40KB 以下)或有半透明效果的优先考虑 PNG24 格式
- 图像颜色丰富而且文件比较大的(40KB - 200KB)优先考虑 JPEG 格式
- 条件允许的,优先考虑 WebP 代替 PNG 和 JPEG 格式
图片大小
PC平台单张的图片的大小不应大于 300KB。
移动平台单张的图片的大小不应大于 100KB。
除了如查看原图等场景
图片质量
- JPG图片必须压缩,一般80%品质即可,保证文字清晰
- JPG图片必须使用渐进式图片:使用Photoshop的“存储为web所用格式”时候,勾选“连续”
- 透明PNG图片必须使用压缩工具,如tinypng
图片引入
测试内容图应该写上表明图片尺寸的占位图,可以用线上占位图生成服务,如:
http://placeholder.qiniudn.com/300x200
HTML 中图片引入不需添加 width、height 属性,alt 属性应该写上,需要能表现出图片的含义
<img src="" alt="" >
CSS 中图片引入不需要引号
.jdc {
background-image: url(icon.png);
}
CSS Sprites VS Data URIs
CSS Sprites特点
- 减少请求数
- 加速图片的显示
- 维护更新成本大
- 更多的内存消耗,特别是大体积或有过多空白的 Sprites 图
- 图片渗漏,相邻的不需展示的图片有可能出现在展示元素中,特别是在高清设备移动设备上
Data URIs(base64编码)
- 减少请求数
- 转换文件体积大,大约比原始的二进制大33%
- IE6 / IE7 不支持
- 图片显示相对较慢,需要更多的CPU消耗
CSS Sprites 使用建议
- 适合使用频率高更新频率低的小图标
- 尽量不留太多的空白
- 体积较大的图片不合并
- 确保要合并的小图坐标数值和合并后的 Sprites 图尺寸均为偶数
Data URIs(base64编码)使用建议
- 适合更新频率高的小图片,如某些具备自定义功能的标题icon等
- 转换成 Base64 编码的图片应小于 2KB
- 移动端不使用 Base64 编码
- 要兼容 IE6/IE7 的不使用
文档更新时间: 2021-05-13 10:24 作者:姚连洲