为什么需要精灵图

一个网页中往往会应用很多小的背景图像作为修饰,当网页中图像过多时,会产生多次的服务器请求,造成服务器请求压力增加,将大大降低页面的加载速度。

因此,为了有效的减少服务器接收和发送请求的次数,提高网页加载速度,出现了 CSS 精灵技术(CSS Sprites)。

CSS Sprites 的原理:将网页中一些小背景图整合到一张大的图片中,服务器只需要一次请求即可获取所有的图像资源。

使用 Sprites

使用精灵图的核心:

  • 主要针对于背景图片的使用,将多个小背景图片整合到一张大图片中
  • 移动背景图片位置,此时可以使用背景位置实现 background-position: -xpx -ypx
  • 移动的距离就是目标图片的 x 和 y 坐标。网页坐标横向为 x 垂直方向为 y
  • 一般情况下都是将精灵图往上或往左移动,所以数值为负值
  • 使用精灵图的时候需要精确测量,每个背景图片的大小和位置都要精确

精灵图缺点

  • 图片文件比较大
  • 图片本身放大和缩小会失真
  • 一旦图片制作完毕想要更换非常复杂