日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > 什么是css sprite?原理優缺點及使用實例

什么是css sprite?原理優缺點及使用實例

來源:程序員人生   發布時間:2014-02-07 10:29:51 閱讀次數:3209次

關于CSS Sprite

  CSS Sprites在國內很多人叫css精靈,是一種網頁圖片應用處理方式。它允許你將一個頁面涉及到的所有零星圖片都包含到一張大圖中去,這樣一來,當訪問該頁面時,載入的圖片就不會像以前那樣一幅一幅地慢慢顯示出來了。對于當前網絡流行的速度而言,不高于200KB的單張圖片的所需載入時間基本是差不多的,所以無需 顧忌這個問題。

  加速的關鍵,不是降低重量,而是減少個數。傳統切圖講究精細,圖片規格越小越好,重量越小越好,其實規格大小無所謂,計算機統一都按byte計算。客戶端每顯示一張圖片都會向服務器發送請求,所以,圖片越多請求次數越多,造成延遲的可能性也就越大。

CSS Sprites原理

  CSS Sprites其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的組合進行背景定位,background-position可以用數字能精確的定位出背景圖片的位置。

CSS Sprites優點

  利用CSS Sprites能很好地減少了網頁的http請求,從而大大的提高了頁面的性能,這也是CSS Sprites最大的優點,也是其被廣泛傳播和應用的主要原因;
  CSS Sprites能減少圖片的字節,曾經比較過多次3張圖片合并成1張圖片的字節總是小于這3張圖片的字節總和。

CSS Sprites缺點

  誠然CSS Sprites是如此的強大,但是也存在一些不可忽視的缺點
  在圖片合并的時候,你要把多張圖片有序的合理的合并成一張圖片,還要留好足夠的空間,防止板塊內不會出現不必要的背景;這些還好,最痛苦的是在寬屏,高分辨率的屏幕下的自適應頁面,你的圖片如果不夠寬,很容易出現背景斷裂;
  CSS Sprites在開發的時候比較麻煩,你要通過photoshop或其他工具測量計算每一個背景單元的精確位置,這是針線活,沒什么難度,但是很繁瑣;幸好騰訊的鬼哥用RIA開發了一個CSS Sprites 樣式生成工具,雖然還有一些使用上的不靈活,但是已經比photoshop測量來的方便多了,而且樣式直接生成,復制,拷貝就OK!

  CSS Sprites在維護的時候比較麻煩,如果頁面背景有少許改動,一般就要改這張合并的圖片,無需改的地方最好不要動,這樣避免改動更多的css,如果在原來的地方放不下,又只能(最好)往下加圖片,這樣圖片的字節就增加了,還要改動css。

  CSS Sprites非常值得學習和應用,特別是頁面有一堆ico(圖標)。總之很多時候大家要權衡一下利弊,再決定是不是應用CSS Sprites。

CSS Sprite的使用

  有幾篇關于CSS Sprites的文章,基本上把其原理和機制說明得很清楚。
  What Are CSS Sprites?
  How to create CSS sprites
  Creating Rollover Effects with CSS Sprites
  Building a Dynamic Banner with CSS Sprites
  High Performance Web Sites中關于CSS Sprites的內容3.2. CSS Sprites

CSS Sprite的例子

  1. 圖片限制(Image Slicing)[1]
  典型如文本編輯器,小圖標特別多,打開時一張張跑出來,給用戶的感覺很不好。如果能用一張圖解決,則不會有這個問題,比如百度空間、163博客、Gmail都是這么做的。
  Image Slicing’s Kiss of Death
  http://www.alistapart.com/articles/sprites
  2. 單圖轉滾(Single-image Rollovers)[1]
  觸發切換圖片的需求,傳統方案得重新請求新圖片,因為網絡問題經常造成停留或等待。如果能把多種狀態合并成一張圖,就能完美解決,然后再使用背景圖技術模擬動態效果。
  ColorScheme Ratings
  http://demo.rexsong.com/200608/colorscheme_ratings/
  3. 延長背景(Extend Background Image)[1]
  如果圖片的某邊可以背景平鋪無限延長,則不需要每個角、每條邊單獨搞出來,圖片能少一個就少一個。其實,這個理論還可以擴展到四角容器里,好處是能大大簡化HTML Structure。
  Extend Background Image
  http://demo.rexsong.com/200705/extend_background_image/
  綜合案例
  Google Korea(1和2技巧)
  http://demo.rexsong.com/200705/google_korea/
  CSS Menus(2和3技巧)
  http://demo.rexsong.com/200705/css_background_menus/

CSS Sprites的問題

  由于IE6存在的background的flicker問題IE6/Win, background image on , cache=‘check every visit’: flicker!,有人針對此問題提出了解決方案Fast Rollovers Without Preload
  關于IE6的flicker問題,fivesevensix.com上有一篇很不錯的研究文章Minimize Flickering CSS Background Images in IE6
  另外:brunildo.org的CSS tests and experiments是關于css各種功能不錯的參考手冊和測試工具。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产1区 | 一区中文字幕 | 一区二区三区在线免费视频 | 亚洲国产成人精品女人久久久 | 精品久久久久久久人人人人传媒 | 女人18毛片九区毛片在线 | 久久久国产精品视频 | 亚洲福利电影 | 偷拍自拍在线观看 | 日韩在线视频一区二区三区 | 欧美午夜精品一区二区三区 | 日韩成人在线免费观看 | 亚洲精品免费在线观看 | 国产精品一区二区三区久久 | 色婷婷视频网 | 国产国语av| 日韩一区欧美一区 | 丰满放荡岳乱妇699www | 日韩在线免费观看视频 | 国产一区二区成人 | 中文字幕在线观看日本 | 国产精品每日更新 | 免费看成人av | 2019超碰| 中文字幕国产日韩 | 亚洲永久精品国产 | 婷婷综合五月天 | 91精品国产综合久久福利 | 国产精品a久久久久 | 国产成人精品一区 | 亚洲日本一区二区三区 | 成人精品国产免费网站 | 日韩一区在线播放 | 欧美亚洲大片 | 最近中文字幕大全 | 97视频国产 | 久久综合亚洲 | 一二三区在线 | 精品久久久久久久久久久久久久久 | 成人高清视频在线观看 | 国产日韩精品视频一区二区三区 |