通常被意譯為「CSS影像拼合」或「CSS貼圖定位」。CSS Sprites並不是一門新技術,目前它已經在網頁開發中發展得較為成熟,但CSS Sprites並不是什麼金科玉律,但在很多情況下,它有著一定的優勢,最重要的是它可以減輕服務器的負載,提高網頁加載速度。隨著Web設計朝向精緻、巧妙的方向發展,設計師們開始考慮使用非Javascript的方式製作鼠標滑過、點閱過的效果,這時CSS Sprite應運而生。
說白了,CSS Sprites其實就是把網頁中一些背景影像整合到一張影像文件中,再利用CSS的「background-image」、「background- repeat」、「background-position」的組合進行背景定位,background-position可以用數字能精確的定位出背景圖片的位置。
當頁面加載時,不是載入每個單獨影像,而是一次載入整個組合影像。這是一個了不起的改進,它大大減少了HTTP請求的次數,減輕伺服器的壓力,同時縮短了連結時所需要的時間,使效果更流暢,不會停頓。
CSS Sprites是如此的強大,但是也存在一些不可忽視的缺點。
在影像整合在一起的時候,你要把多張影像井然有序的合併成一張影像,還要留好足夠的空間,防止板塊內不會出現不必要的背景,否則可能會出現出現干擾圖片的情況(出包);CSS Sprites在製作的時候比較麻煩,你要一些軟體工具測量計算每一個背景單元的精確位置,這是苦工,沒什麼難度,但是很繁瑣;不過網上已經有高手開發出「CSS Sprites 樣式生成工具」,大家可以嘗試一下。
CSS Sprites在維護的時候比較麻煩,sprites是一般雙刃劍,如果頁面背景有少許改動,一般就要改這張合併的圖片,無需改的地方最好不要動,這樣避免改動更多的css,如果在原來的地方放不下,有只能(最好)往下加圖片,這樣圖片的高度就增加了,因為每次的圖片更動都得往這個圖片刪除或添加內容,顯得稍微繁瑣,而且重新計算影像的位置也是一件挺累人的事情。當然,在性能的口號下,這些都是可以克服的。
由於圖片的位置需要固定為某個絕對數值,這就失去了left、center、right之類的靈活性。
沒有留言 :
張貼留言