CSS Sprites(CSS 精靈)

1. 什么是CSS Sprites?

CSS Sprites在國(guó)內(nèi)很多人叫css精靈,是一種網(wǎng)頁(yè)圖片應(yīng)用處理方式。它允許你將一個(gè)頁(yè)面涉及到的所有零星圖片都包含到一張大圖中去,這樣一來,當(dāng)訪問該頁(yè)面時(shí),載入的圖片就不會(huì)像以前那樣一幅一幅地慢慢顯示出來了。再利用CSS的“background-image”,“background- repeat”,“background-position”的組合進(jìn)行背景定位。

舉個(gè)栗子:

emoji.jpg

變成:

emoji-2.png

2. CSS Sprites的優(yōu)缺點(diǎn)

2.1 優(yōu)點(diǎn)

  • 很好地減少網(wǎng)頁(yè)的http請(qǐng)求,從而大大的提高頁(yè)面的性能。
  • 減少圖片的字節(jié), 多張圖片合并成1張圖片的字節(jié)總是小于多張圖片的字節(jié)總和。
  • 解決了在圖片命名上的困擾。

2.2 缺點(diǎn)

  • 把多張圖片有序的合理的合并成一張圖片,還要留好足夠的空間, 防止板塊內(nèi)出現(xiàn)不必要的背景;
  • 在寬屏,高分辨率的屏幕下的自適應(yīng)頁(yè)面,如果圖片不夠?qū)挘苋菀壮霈F(xiàn)背景斷裂;
  • 因?yàn)橐獪y(cè)量計(jì)算每一個(gè)背景單元的精確位置,建議使用CSS Sprites 樣式生成工具。
  • CSS Sprites在維護(hù)時(shí),如果頁(yè)面背景有少許改動(dòng),一般就要改這張合并的圖片。

總結(jié):一般CSS Sprites拼合布局用于局部小盒子布局不適合大背景大布局背景使用。比如小局部布局小圖標(biāo)背景、小導(dǎo)航背景等CSS布局??傊芏鄷r(shí)候需要權(quán)衡利弊,再?zèng)Q定是不是應(yīng)用CSS Sprites。

3. 上圖例子的代碼

HTML代碼:

<ul>    
    <li class="Emoji1"></li>    
    <li class="Emoji2"></li>    
    <li class="Emoji3"></li>    
    <li class="Emoji4"></li>
</ul>

CSS代碼:

*{    
margin: 0px;
}
ul,li{    
list-style: none;
}
li{    
width:50px;    
height:50px;    
overflow: hidden;    
background: url('Emoji.jpg') -0px -0px no-repeat;
}
.Emoji1{    background-position: 0px 0px;}
.Emoji2{    background-position: 0px -50px;}
.Emoji3{    background-position: 0px -100px;}
.Emoji4{    background-position: 0px -150px;}

background-position 的兩個(gè)參數(shù): 第一個(gè)值是水平位置,第二個(gè)值是垂直位置。左上角的為 0 0. 具體參照W3School

如果覺得我寫的還不錯(cuò),請(qǐng)踩踩demos,這是一些常用效果的合集.持續(xù)更新ing.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,168評(píng)論 1 92
  • [css sprite原理優(yōu)缺點(diǎn)及使用] CSS Sprites在國(guó)內(nèi)很多人叫css精靈,是一種網(wǎng)頁(yè)圖片應(yīng)用處理方...
    LabRaDor2079閱讀 1,658評(píng)論 0 3
  • 我必須要說明一點(diǎn),今年已經(jīng)過了5個(gè)月了,今天也是今年的第19周,我的心中有些感慨,也充滿了滿滿的懷念。在這里把我上...
    陳總閱讀 242評(píng)論 0 1
  • 樂之,媽媽的心情久久不能平復(fù),以至于無法入眠,起因是那刺耳的“破指甲”?;氐脚P室,那種難過和傷心以及我沒有把你教育...
    俠姐美美噠閱讀 153評(píng)論 0 0
  • 我的需要:回憶有沒有這個(gè)需要,在生活里你抓誰(shuí)來滿足這個(gè)需要? 可以繼續(xù)深入覺察,這個(gè)人是否滿足了你的需要,下場(chǎng)如何...
    喜樂鷺鷺閱讀 253評(píng)論 0 0

友情鏈接更多精彩內(nèi)容