CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position能够用数字能精确的定位出背景图片的位置。服务器
利用CSS Sprites能很好地减小了网页的http请求,从而大大的提升了页面的性能,这也是CSS Sprites最大的优势,也是其被普遍传播和应用的主要缘由;网络
CSS Sprites能减小图片的字节,曾经比较过屡次3张图片合并成1张图片的字节老是小于这3张图片的字节总和。工具
解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就能够了,不须要对每个小元素进行命名,从而提升了网页的制做效率。性能
更换风格方便,只须要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就能够改变。维护起来更加方便。 测试
有几篇关于CSS Sprites的文章,基本上把其原理和机制说明得很清楚。ui
What Are CSS Sprites?url
How to create CSS spritesspa
Creating Rollover Effects with CSS Sprites
Building a Dynamic Banner with CSS Sprites
High Performance Web Sites中关于CSS Sprites的内容3.2. 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坐标}
必需要限定容器大小符合背景图元素位置 .. 另外 .. XY轴是相对于整张图片的左上角来算的 .. 因此取值必定要算清楚