css雪碧圖

CSS雪碧的基本原理是把你的網站上用到的一些圖片整合到一張單獨的圖片中,從而減少網站的HTTP請求數量,降低服務器壓力,同時提高了頁面的加載速度,節約服務器的流量。

優點

  • 減少加載網頁圖片時對服務器的請求次數
    可以合并多數背景圖片和小圖標,方便在任何位置使用,這樣不同位置的請求只需要調用一個圖片,從而減少對服務器的請求次數,降低服務器壓力,同時提高了頁面的加載速度,節約服務器的流量。
  • 提高頁面的加載速度
    sprite 技術的其中一個好處是圖片的加載時間(在有許多 sprite 時,單張圖片的加載時間)。由所需圖片拼成的一張 GIF 圖片的尺寸會明顯小于所有圖片拼合前的大小。單張的 GIF 只有相關的一個色表,而單獨分割的每一張 GIF 都有自己的一個色表,這就增加了總體的大小。因此,單獨的一張 JPEG 或者 PNG sprite 在大小上非常可能比把一張圖分成多張得來的圖片總尺寸小。
  • 減少鼠標滑過的一些bug
    IE6不會主動預加載鼠標滑過即a:hover中的背景圖片,所以,如果使用多張圖片,鼠標滑過會出現閃白的現象。使用CSS雪碧,由于一張圖片即可,所以不會出現這種現象。

不足

  • CSS雪碧的最大問題是內存使用
    除非這個雪碧圖片是被非常小心的組織,你就會最終使用大量的無用的空白。一個例子是來自于WHIT TV的網站。注意這是一個1299×15,000像素的PNG圖片。它也被壓縮的很好——實際下載大小只有大概26K — 但是瀏覽器并不會渲染壓縮后的圖片數據。當這個圖片被下載并被解壓縮之后,它將占用差不多75MB的內存 (1299 * 15000 * 4)。如果這個圖片并沒有使用alpha透明,它將會被優化至1299 * 15000 * 3,但是要在損失渲染速度的情況下。即使那樣,我們也會討論55MB。這張圖片的大部分其實就是空白,那里什么都沒有,沒沒有任何有用的內容。只是加載 WHIT主頁 就會導致你的瀏覽器的內存占用上升到至少75+MB,僅僅是因為那一張圖片。(PS:遺憾的是,該網站最近已經改版,文中提到的圖片已經不存在了)
  • 影響瀏覽器的縮放功能
    如果一個使用CSS雪碧的頁面使用一些瀏覽器提供的整頁縮放功能縮放了,瀏覽器就需要做一些額外的工作來糾正這些圖片邊緣的行為——基本上來說,是為了避免雪碧中相鄰的圖片被“露進來”。這對于小圖片沒有什么問題,但是對于大圖片會是一個性能下降。
  • 拼圖維護比較麻煩
    拼合這么多圖片,需要耐心。同時還要時刻思考如何在使用這個圖片是不會產生相互的影響。將又瘦又高的圖片和又寬又矮的圖片放到一起時,不容易操作。如果要修改雪碧中的一個圖片,你就要修改整張圖片,這無疑會增大工作量。
  • 使CSS的編寫變得困難
    如果CSS雪碧足夠復雜,則大大增加了CSS的代碼量和難度,讓維護和修改變得困難起來。
  • CSS 雪碧調用的圖片不能被打印
    CSS 雪碧調用的圖片不能被打印,除非在@media中特別添加 print聲明。
  • 錯誤得使用 Sprites 影響可訪問性
    一些剛入門的開發人員會為了節省 HTTP 請求數(這是使用 CSS Sprite 一直強調的好處)而把所有的圖片都當背景圖片來處理 – 甚至是那些傳達重要信息的圖片。結果會導致一個缺乏可訪問性的網站,也會降低 HTML 中 title 和 alt 的潛在益處。
    因此,CSS sprite 本身沒錯,而且也不會引發可訪問性問題(事實上,正確得使用會提高可訪問性)。但是不分對錯得過度使用 sprite 會阻礙具有可訪問性和生產率方面的網頁建設進程。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一,首先來了解一下什么是CSS雪碧圖 來看這樣的一個網頁 你會發現這里面有許多的圖片,但是是否真的有這個多張圖片呢...
    大春春閱讀 2,576評論 0 8
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,792評論 1 92
  • 轉載請聲明 原文鏈接地址 關注公眾號獲取更多資訊 第一部分 HTML 第一章 職業規劃和前景 職業方向規劃定位...
    前端進階之旅閱讀 16,599評論 32 459
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,200評論 4 61
  • 故事的開頭總是這樣,適逢其會,猝不及防。故事的結局總是這樣,花開兩朵,天各一方。――《從你的全世界路過》 你是誰?...
    青火0922閱讀 756評論 55 9