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