有什么因素可以触发将图像切换到嵌入CSS的Base64?
似乎有很多通用的pro/con类型的东西.维基百科似乎有一个不错的概述:http://en.wikipedia.org/wiki/Data_URI_scheme#Advantages
从我所看到的,似乎使base64成为一个简单决定的一个因素是,如果您的网站必须访问大量单独的小图像,并且拥有一个大文件会更有效,每个人都会为服务器点击50次图片.
但是......似乎对于精灵以及我很少需要在页面上显示50个单独的图像的事实,Base64并不能为一般网站提供大量的内容.
是否有我应该寻找的关键因素(pro/con)?
(这可能更好地作为社区wiki条目而不是问题)
更新:
也许用一种更简洁的方式来表达这个问题:
鉴于以下两个选项:
1)所有图像都转换为base64并嵌入外部css文件中
2)图像聚集成一些精灵图像,在外部css文件中引用
是否有明显的情况,其中一个比另一个好,或者它是否真的只是一个案例,同时做两件事并测试类型的东西?
是否有我应该寻找的关键因素(pro/con)?
最大的缺点是IE6/7中缺少支持,以及IE8中的不完整支持(data:
URI不得大于32千字节).
在这种情况下,使用CSS sprites是非常优越的技术.
这里有两个不同的问题:
1) 基数 64。好吧,这里没有优势。这些文件比二进制文件更厚,并且不太可能被缓存。资源应该位于外部文件中,以便可以缓存它们。
2)精灵。CSS 精灵是一种使用单个图像而不是多个图像的技术。图像的一部分通过 CSS“显示”。这些更加高效,因为网络请求的数量大大减少。这很值得。