我们都知道CSS sprite图像可以很好地减少请求的数量等,但是如果有多个元素使用一个大图像作为背景,浏览器渲染页面的性能又如何呢?
我们都知道CSS sprite图像可以很好地减少请求的数量等,但是如果有多个元素使用一个大图像作为背景,浏览器渲染页面的性能又如何呢?
你需要平衡一下。如果你要谈论一个包含1000个精灵的图像,那么CSS文件会非常大。此外,在同一页中使用所有这些精灵的可能性非常小。
从我们的YouTube经验来看,这方面没有大问题。
希望浏览器将图像缓存在内存中,然后在需要该图像的任何地方使用它来呈现输出。
通过将图像合并成一个或多个组合精灵,并使用CSS在网页中选择性地显示精灵的部分,您可以节省大量的HTTP请求。现在,主要浏览器已经发展到支持CSS背景和定位的程度,更多的站点正在采用这种性能技术。事实上,一些最繁忙的网站使用CSS精灵来保存HTTP请求。
拥有数百万用户的雅虎和AOL尽其所能改善用户体验。AOL.com和Yahoo.com都使用CSS精灵来为其复杂的界面节省大量的HTTP请求。两个站点都使用CSS精灵来选择性地显示其服务目录中的图标,而雅虎还在其他地方使用精灵。
CSS精灵的另一个好处是,即使在图像之间添加空白,合并后的图像文件大小通常也比单独的图像小。精灵较小的大小是由于单独的图像需要多个颜色表和格式化信息的开销较大。为了最大化可访问性和可用性,最好将CSS精灵用于图标或装饰效果。