一個網(wǎng)站,由許多元素構(gòu)成,如:文本、圖像、鏈接、表單、表格等,除了文本,圖像當屬重中之重了!在早先的
網(wǎng)站設(shè)計中,圖片都是獨立分開的;到了2004年,Dave Shea(css禪意花園作者)提出了使用css控制組合圖片的方案,將許
多小的圖片合成于一張畫布里,再通過background-position進行定位,來控制圖片的顯示位置和方式。
一時間,該方案得到人們的推崇,并將其稱為css Sprite技術(shù),中文意思大概就是“css貼圖定位”或“css圖像拼合”。
那么,為什么要用該技術(shù)呢?它的優(yōu)勢在哪里?存在哪些缺點呢?
首先,從網(wǎng)站的優(yōu)化方面考慮。將許多圖片拼合成一張圖片,在加載時就不是對之前的每張圖片進行加載了,而
是
只要對拼合成的圖片加載一次就夠了,這就大大減少了http請求的次數(shù),降低了服務(wù)器的負載;
其次,從css的維護方面考慮。圖片多了,就得為每張圖片命名,命名并不是一件很輕松的事情,有時候可以把人
搞得焦頭爛額,而把眾多的圖片合成起來,只要為組合圖片一次命名,省卻許多的時間;另外,在樣式表里書寫代碼時,可
以將樣式進行分離,只進行一次圖片應(yīng)用,而其他的都只是定位的問題了,提升了代碼的精簡。
它的缺點同樣要從css的維護方面來說,因為css sprite大多使用于較固定的像素定位中,而一用到定位,布局上
就是固定住了,降低了網(wǎng)頁的彈性。
所以,在用該技術(shù)時,應(yīng)該在可維護性和降低負載之間權(quán)衡利弊,選擇適合項目的方式。
更多信息請查看IT技術(shù)專欄