玩转图片Base64编码,优化前端性能
图片的Base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。
图片数据直接嵌入到CSS或HTML中,无需额外的网络请求
不需要考虑缓存、文件头或cookies问题
可像单独图片一样使用,特别适合背景图片重复使用
新建一个标签页
将图片直接拖入浏览器窗口
按F12或右键检查元素
在Sources面板中点击图片查看编码
对比项目 | Base64编码 | CSS Sprites |
---|---|---|
HTTP请求数 | 减少请求 | 减少请求 |
文件体积 | 增加CSS体积 | 不影响CSS |
缓存策略 | 随CSS缓存 | 独立缓存 |
维护难度 | 单独维护 | 需同时维护CSS和图片 |
适用场景 | 小图片、背景图 | 图标、按钮等 |
跨域问题 | 无跨域问题 | 可能有跨域问题 |
这是使用Base64编码的2x2像素背景图
只有50字节,转换后约100个字符
只对小于2KB的图片使用Base64编码
选择在网站中复用性很高的图片
避免对经常更新的图片使用Base64