这是一个好习惯吗?有什么理由可以避免这种情况?
这是一个好习惯,通常仅适用于在IE兼容性无关紧要时将一起使用的非常小的CSS图像(如CSSSprites),并且保存请求比可缓存性更重要。
它有许多明显的缺点:
在IE6和7中根本不起作用。
在IE8中仅适用于最大32k的资源。这是在base64编码之后适用的限制。换句话说,不能超过32768个字符。
它保存了一个请求,但是却使HTML页面肿!并使图像不可缓存。每当包含页面或样式表加载时,它们就会加载。
Base64编码使图像大小膨胀了33%。
如果在压缩后的资源中提供data:
图像,几乎可以肯定会对服务器资源造成巨大的压力!传统上,图像压缩需要占用大量cpu资源,而尺寸却很少减少。