CSS Sprite “精灵图“
CSS Sprite
CSS Sprites叫?CSS精靈或者雪碧圖,是一種網頁圖片應用處理方式。
CSS Sprites其實就是把網頁中一些背景圖片整合到一張圖片文件中。
再利用CSS的"background-image","background-repeat", "background-position"的組合進行背景定位,background-position可以用數字精確的定位出背景圖片的位置。
為什么建議使用CSS Sprite
在網頁訪問中,客戶端每需要訪問一張圖片都會向服務器發送請求,所以,訪問的圖片數量越多,請求次數也就越多,造成延遲的可能性也就越大。
所以,CSS Sprites技術加速的關鍵,并不是降低質量,而是減少個數,當然隨之而來的增加內存消耗,CSS Sprites圖片繁瑣的合成等缺點在網站心梗的提升前,也就不足為道了。
CSS Sprites的優點:
- 減少圖片的字節
- 減少了網頁的http請求,從而大大的提高了頁面的性能
- 減少命名難的問題
CSS Sprites的缺點:
- 在圖片合并的時候,你要把多張圖片有序的合理的合并成一張圖片,還要留好足夠的空間,防止板塊內出現不必要的背景。
- 在寬屏,高分辨率的屏幕下的自適應頁面,圖片如果不夠寬,很容易出現背景斷裂。
- CSS Sprites在維護的時候比較麻煩,如果頁面背景有少許改動,一般就要改這樣合并的圖片,無需改的地方最好不要動,這樣避免改動更多的CSS,如果在原來的地方放不下,又只能(最好)往下加圖片,這樣圖片的字節就增加了,還要改動CSS。
再說說background-position
只有真正的了解background-position的特性才能在需要的場景更好的運用它。
background-position屬性設置背景圖像的起始位置。
這個屬性設置背景原圖像(由background-image定義)的位置,背景圖像如果要重復,將從這一點開始。
提示:
background-position屬性設置背景原圖像(由background-image定義)的位置,意味著使用這個屬性的前提是必須設置背景原圖像background-image。
了解了background-position屬性的用法,使用雪碧圖之前,我們需要知道雪碧圖中各個圖標的位置。
從上面的圖片不難看出雪碧圖各個小圖標(icon)在整張雪碧圖的起始位置,例如第一個圖標(裙子)在雪碧圖的起始位置為x:0,y:0,第二個圖標(鞋子)在雪碧圖的起始位置為x:0, y:50px,第三個圖標(足球)在雪碧圖的起始位置為x:0, y:100px,依次類推可以得出各個圖片相對于雪碧圖的起始位置。
?
以上面的雪碧圖為例(實際雪碧圖中各個小圖片的起始位置和上面的展示圖不同)用一個Demo來闡述它的使用方法。
HTML
<div class="box"><span class="icon1"></span><span class="icon2"></span><span class="icon3"></span><span class="icon4"></span> </div>CSS
<style>.box {width: 600px;height: 300px;border: 3px solid #ccc;background-color: #8064A2;}span {display: inline-block;width: 25px;height: 25px;border: 3px solid #ccc;background-image: url(css/img/sidebar.png);background-repeat: no-repeat;margin: 5px;}.icon1 {background-position: 0 0;}.icon2 {backround-position: -40px 0;}.icon3 {background-position:0 -25px;}.icon4 {background-position: -40px -25px;} </style>效果圖:
合成CSS Sprite的工具
利用雪碧圖顯示icon的小demo?https://evenyao.github.io/css-sprite-demo/
制作CSS Sprite工具詳解?http://www.cnblogs.com/wang4517/p/4476758.html
總結
以上是生活随笔為你收集整理的CSS Sprite “精灵图“的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反爬之字体图片反爬
- 下一篇: 【反爬】某网站雪碧图反爬