首页 > 代码库 > 【CSS】CSS Sprites (CSS 精灵) 技术

【CSS】CSS Sprites (CSS 精灵) 技术

  CSS Sprites

  CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需顾忌这个问题。

  CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。
  在网页访问中,客户端每需要访问一张图片都会向服务器发送请求,所以,访问的图片数量越多,请求次数也就越多,造成延迟的可能性也就越大。
  所以,CSS Sprites技术加速的关键,并不是降低质量,而是减少个数,当然随之而来的增加内存消耗,CSS Sprites图片繁琐的合成等缺点在网站性能的提升前,也就不足为道了。

  CSS Sprites的使用:
    .bg_sprite{background-image:url(/整图地址); background-repeat:no-repeat}
    #ico1 {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}
    #ico2 {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}
    #ico3 {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}
    .nav {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}
  当然也有简写方法:
    #ico1 {width:容器宽度;height:容器高度;background:url(/整图地址) no-repeat X坐标 Y坐标;}
  其中,X坐标和Y坐标表示原图相对于ico1框左上角点的偏移量,即 坐标 0 0表示背景图和ico1框的左上角点重合

  例子:
  图片"bg_sprite.png"
  
  代码  
1 ico {width: 16px;height:16px;background: url("bg_sprite.png") no-repeat 0 -234px;}

  效果为:

  

【CSS】CSS Sprites (CSS 精灵) 技术