关于css sprites大家并不陌生,把多张小图拼凑到一张大图里,从而减少页面的http请求数,提高网站性能的一门技术。
以前有同学说,css sprites是鸡肋,因为图片是拥有缓存的,所以对性能并不会产生多大影响。
我认为当服务器是通过cdn来连接的话,那么的网页每个http请求都将通过cdn服务器来转发,这样将会增加cdn服务器的负担,相对的判断一个图片版本是否和缓存文件版本统一也是要通过cdn服务器的,当然这只是很小的一部分好处,减少HTTP请求是最直接的提高网站性能的方法之一了。
css sprites的功能显而易见,不过它的维护难度让许多同学望而生畏,当然这也是仁者见仁智者见智,不予深论。
css sprites的图片我姑且就分为三类。
一、背景型
这类图片里面大多都是背景,常常出现在页首,页尾的统一样式中,在三种类型中也最为广泛,排法也五花八门。

图片出自淘宝

二、图标型
这类图片全由图标组成,常常出现在一些强交互型网站,他们可能会有几十甚至上百个ico。

图片出自qzone
三、文字型
一些设计师经常会使用一些非系统字体来作为title文字,这会给前端增加不少工作量,不过聪明的前端们把他们都放在了一起,从而维护更加简单,新浪是典型案例。

图片出自sina

可以发现以上三个网站的图片排法都有各自的风格,淘宝紧凑,qq中庸,新浪分散。
如何排列图片成为了许多新手的困扰,紧凑显然可以减少一些图片大小,不过这个量微乎其微,分散可以提高维护性,但体现在哪里呢?
下章我将从css sprites的基础开始说起。