对CSSSprites的理解(精灵图)

一 定义

CSSSprites(精灵图),将一个页面涉及到的所有图片都包含到一张大图中去,然后利用CSS的 background-image,background-repeat,background-position属性的组合进行背景定位

二 优点

  • 利用 CSS Sprites 能够很好的减少网页的 http 请求,从而大大的提高了页面的性能,这是 CSS Sprites 最大的优点,
  • 精灵图能够减少图片的字节,将 3 张图片合并成一张图片的字节总是小于这三张图片的字节总和

三 缺点

  • 在图片合并时,要把多张图片有序的/合理的合并成一张图片,还要保留足够的空间,防止板块内出现不必要的背景,在宽屏及高分辨率下的自适应页面,如果背景不够宽,很容易出现背景断裂
  • 精灵图在开发的时候相对来说比较麻烦,需要借助 ps 工具来对每个背景单元测量其准确的位置
  • 维护方面:精灵图在维护的时候比较麻烦,页面背景有少许的改动,就要改这张合并的图片,无需改的地方尽量不要动,这样避免了改动更多的 css,如果在原来的地方放不下,就只能往下添加图片,这样图片的字节就增加了