小图标拖慢首屏
首屏十几个 2KB 小图标,请求数爆炸,加载 waterfall 一片红。HTTP/2 多路复用缓解了些,但内联 Base64 直接零请求,首屏秒开体感最强。
转 Base64 三步
图片拖进Base64 工具转码,复制字符串,贴进 CSS 的 url()。三步上生产线,五分钟搞定全部小图标。
膨胀三分之一的账
Base64 编码体积膨胀约 33%:2KB 图标变 2.7KB,能接受;200KB 大图变 266KB,血亏。所以只内联 10KB 以下的小图标,大图走压缩加懒加载。
注意:内联进 CSS 的图片无法单独缓存,换一套图标整份 CSS 失效,图标稳定后再内联。
data URI 写法
格式固定:url(data:image/png;base64,iVBOR...), MIME 别写错,SVG 内联记得 URL 编码特殊字符。背景图、伪元素图标都适用。
多大就别内联了
分界线:10KB 以下内联,10-50KB 看情况,50KB 以上老实走文件。首屏关键小图标全内联,非首屏大图懒加载,这套组合拳打完,性能面板一片绿。