CSS Sprites叫 CSS精灵或者雪碧图,是一种网页图片应用处理方式。javascript
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中。css
再利用CSS的"background-image","background-repeat","background-position"的组合进行背景定位,background-position能够用数字精确的定位出背景图片的位置。html
在网页访问中,客户端每须要访问一张图片都会向服务器发送请求,因此,访问的图片数量越多,请求次数也就越多,形成延迟的可能性也就越大。java
因此,CSS Sprites技术加速的关键,并非下降质量,而是减小个数,固然随之而来的增长内存消耗,CSS Sprites图片繁琐的合成等缺点在网站性能的提高前,也就不足为道了。git
只有真正的了解background-position的特性才能在须要的场景更好的运用它。github
background-position 属性设置背景图像的起始位置。
这个属性设置背景原图像(由 background-image 定义)的位置,背景图像若是要重复,将从这一点开始。
提示:
background-position属性设置背景原图像(由 background-image 定义)的位置,意味着使用这个属性的前提是必须设置背景原图像background-image。服务器
了解了background-position属性的用法,使用雪碧图以前,咱们须要知道雪碧图中各个图标的位置。ide
以上面的雪碧图为例(实际雪碧图中各个小图片的起始位置和上面的展现图不一样)用一个Demo来阐述它的使用方法。工具
HTML性能
<div class="box"> <span class="icon1"></span> <span class="icon2"></span> <span class="icon3"></span> <span class="icon4"></span> </div>
CSS
<style> .box { width: 600px; height:300px; border: 3px solid #ccc; background-color: #8064A2; } span { display: inline-block; width: 25px; height: 25px; border: 3px solid #ccc; background-image: url(css/img/sidebar.png); background-repeat: no-repeat; margin: 5px; } .icon1 { background-position: 0 0; } .icon2 { background-position: -40px 0; } .icon3 { background-position: 0 -25px; } .icon4 { background-position: -40px -25px; } </style>
效果图
利用雪碧图显示icon的小demo https://evenyao.github.io/css-sprite-demo/
制做CSS Sprite工具详解 http://www.cnblogs.com/wang4517/p/4476758.html