DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> CSS Sprites工作原理及優缺點
CSS Sprites工作原理及優缺點
編輯:CSS詳解     

你對CSS Sprites技術的工作原理和優缺點是否了解,這裡和大家分享一下,希望對你的學習有所幫助。

CSS Sprites工作原理及優缺點

 CSS Sprites技術早在2005年CSSZengarden的園主DaveShea就在ALA發表對該技術的詳細闡述。

原先只在CSS玩家之間作為一種制作方法流傳,後來出來個14RulesforFaster-LoadingWebSites,技術人員之間競相傳閱,其中第一條規則MakeFewerHTTPRequests就提到CSS Sprites。於是這個小妖精就火了起來,甚至出現了在線生成工具,勢不可擋也。近來國內很多blog都提到CSS Sprites,最著名的例子莫過於google.co.kr下方的那幾個動畫。最新發布的YUI中,也是使用到CSS Sprites,幾乎都有的CSS裝飾圖都被一個40×2000的圖包辦。社交大站Facebook最近也使用了一個22×1150的圖片承擔了所有icon。一時間,CSS Sprites無處不在。

CSS Sprites工作原理

我們知道,自CSS革命以降,HTML傾向於語義化,在一般情況下不再在標記裡寫裝飾性的內容而是把呈現的任務交給了CSS。GUI是缤紛多彩的,少不了各種漂亮的圖來裝點。新時代的生產方式是,在Html布滿各種各樣的鉤子(hook),然後交由CSS來處理。

在需要用到圖片的時候,現階段是通過CSS屬性background-image組合background-repeat,background-position等來實現(題外話:為何我提現階段,因為未來浏覽器若支持content則又新增另外的實現方法)。我們的主角是,你一定猜到了,就是background-position。通過調整background-position的數值,背景圖片就能以不同的面貌出現在你眼前。其實圖片整體面貌沒有變,由於圖片位置的改變,你看到只該看到的而已。就好比手表上的日期,你今天看到是21,明天看到是22,是因為它的position往上跳了一格。所以你也大概了解到,CSS Sprites一般只能使用到固定大小的盒子(box)裡,這樣才能夠遮擋住不應該看到的部分。

CSS Sprites優點

我們從前面了解到,CSS Sprites為什麼突然跑火,跟能夠提升網站性能有關。顯而易見,這是它的巨大優點之一。普通制作方式下的大量圖片,現在合並成一個圖片,大大減少了HTTP的連接數。HTTP連接數對網站的加載性能有重要影響。

CSS Sprites缺點

至於可維護性,這是一般雙刃劍。可能有人喜歡,有人不喜歡,因為每次的圖片改動都得往這個圖片刪除或添加內容,顯得稍微繁瑣。而且算圖片的位置(尤其是這種上千px的圖)也是一件頗為不爽的事情。當然,在性能的口號下,這些都是可以克服的。

由於圖片的位置需要固定為某個絕對數值,這就失去了諸如center之類的靈活性。

前面我們也提到了,必須限制盒子的大小才能使用CSS Sprites,否則可能會出現出現干擾圖片的情況。這就是說,在一些需要非單向的平鋪背景和需要網頁縮放的情況下,CSS Sprites並不合適。YUI的解決方式是,加大圖片之間的距離,這樣可以保持有限度的縮放。

CSS Sprites總結

性能壓倒一切。CSS Sprites是值得推廣的一種技術。尤其適宜用於FIR,比如固定大小的icon替換。為保持兼容性,圖片中的各個部分保持一定的距離是一種不錯的做法。

文章來源:Div-Css.net設計網參考:http://www.div-CSS.Net/div_CSS/topic/index.ASP?id=6933

【編輯推薦】

  1. CSS Sprites簡介以及優缺點
  2. CSS中margin邊界疊加問題及解決方案
  3. CSS樣式表高效使用八大秘訣
  4. 創建和插入CSS樣式表秘笈
  5. 實現CSS垂直居中的五大方法及優缺點
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved