什么是精靈圖?CSS Sprite
CSS Sprites叫CSS精靈或者雪碧圖,是一種網(wǎng)頁圖片應(yīng)用處理方式。
所謂的精靈圖就是將多個(gè)圖片放置在一個(gè)大的圖片上面。精靈圖主要是用來當(dāng)做背景圖時(shí)使用,之所以要將多個(gè)圖片放置在一個(gè)大的圖片上面是因?yàn)楹芏鄷r(shí)候我們的背景圖是放置在服務(wù)器上面的,當(dāng)我們需要使用到某一張圖片的時(shí)候就會(huì)向服務(wù)器請(qǐng)求資源,如果圖片是分離的那么用到一張的時(shí)候就要請(qǐng)求一次,這樣服務(wù)器的壓力會(huì)比較大,所以可以將多個(gè)圖片整合到一個(gè)圖片的上面,這樣當(dāng)請(qǐng)求資源的時(shí)候請(qǐng)求的次數(shù)就會(huì)變少很多,可以減輕服務(wù)器的壓力。
為什么建議使用CSS Sprite
在網(wǎng)頁訪問中,客戶端每需要訪問一張圖片都會(huì)向服務(wù)器發(fā)送請(qǐng)求,所以,訪問的圖片數(shù)量越多,請(qǐng)求次數(shù)也就越多,造成延遲的可能性也就越大。
所以,CSS Sprites技術(shù)加速的關(guān)鍵,并不是降低質(zhì)量,而是減少個(gè)數(shù),當(dāng)然隨之而來的增加內(nèi)存消耗,CSS Sprites圖片繁瑣的合成等缺點(diǎn)在網(wǎng)站性能的提升前,也就不足為道了。
CSS Sprites 的優(yōu)點(diǎn):?
減少圖片的字節(jié)
減少了網(wǎng)頁的http請(qǐng)求,從而大大的提高了頁面的性能
減少命名難的問題
CSS Sprites 的缺點(diǎn):?
在圖片合并的時(shí)候,你要把多張圖片有序的合理的合并成一張圖片,還要留好足夠的空間,防止板塊內(nèi)出現(xiàn)不必要的背景。
在寬屏,高分辨率的屏幕下的自適應(yīng)頁面,圖片如果不夠?qū)?,很容易出現(xiàn)背景斷裂。
CSS Sprites在維護(hù)的時(shí)候比較麻煩,如果頁面背景有少許改動(dòng),一般就要改這張合并的圖片,無需改的地方最好不要?jiǎng)?,這樣避免改動(dòng)更多的CSS,如果在原來的地方放不下,又只能(最好)往下加圖片,這樣圖片的字節(jié)就增加了,還要改動(dòng)CSS。
精靈圖的使用
精靈圖的使用主要是用到了定位的功能,利用CSS的"background-image","background-repeat","background-position"的組合進(jìn)行背景定位,background-position可以用數(shù)字精確的定位出背景圖片的位置。

從上面的圖片不難看出雪碧圖中各個(gè)小圖標(biāo)(icon)在整張雪碧圖的起始位置,例如第一個(gè)圖標(biāo)(裙子)在雪碧圖的起始位置為 x:0,y:0,第二個(gè)圖標(biāo)(鞋子)在雪碧圖的起始位置為 x:0,y:50px,第三個(gè)圖標(biāo)(足球)在雪碧圖的起始位置為x:0,y:100px,依次類推可以得出各個(gè)圖片相對(duì)于雪碧圖的起始位置。

參考文案:https://www.cnblogs.com/wang4517/p/4476758.html