1. 模仿百度效果百度的網(wǎng)站是每當(dāng)鼠標(biāo)放在相機(jī)圖標(biāo)那個(gè)位置的時(shí)候,相機(jī)就會(huì)切換到藍(lán)色: 我們來(lái)模仿一下這個(gè)效果: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS Sprites</title> <style> /* 清除默認(rèn)樣式 */ * { padding: 0; margin: 0; } /* 這段代碼是為了居中顯示,不是重點(diǎn),看不懂的話可以無(wú)視 */ body { height: 100vh; display: flex; align-items: center; justify-content: center; } .sprite { /* 寬高要設(shè)置的和圖標(biāo)一樣大或者稍微大一點(diǎn)點(diǎn) */ width: 20px; height: 18px; /* 背景圖地址設(shè)置為雪碧圖的位置 */ background-image: url(http://img.mukewang.com/wiki/5ed9bc1809824eef00180038.jpg); /* 禁止背景圖重復(fù) */ background-repeat: no-repeat; /* 令背景圖顯示在正確的位置 */ background-position: top; } /* 當(dāng)鼠標(biāo)移入時(shí)的樣式定義 */ .sprite:hover { /* 令背景圖顯示在正確的位置 */ background-position: bottom; } </style> </head> <body> <div class="sprite"></div> </body> </html> 運(yùn)行結(jié)果: 可以看到,只要改變一下背景圖的位置,就可以切換到另一個(gè)不同的圖標(biāo),只要位置控制得當(dāng),一張Css Sprite就可以顯示出各式各樣不同的圖標(biāo),是不是很神奇呢? 2. 更加直觀的理解如果有些同學(xué)并沒(méi)有能夠理解的話,我們可以給背景加上一個(gè)過(guò)渡動(dòng)畫(huà),方便大家理解究竟是如何切換圖標(biāo)的: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS Sprites</title> <style> /* 清除默認(rèn)樣式 */ * { padding: 0; margin: 0; } /* 這段代碼是為了居中顯示,不是重點(diǎn),看不懂的話可以無(wú)視 */ body { height: 100vh; display: flex; align-items: center; justify-content: center; } .sprite { /* 寬高要設(shè)置的和圖標(biāo)一樣大或者稍微大一點(diǎn)點(diǎn) */ width: 20px; height: 18px; /* 背景圖地址設(shè)置為雪碧圖的位置 */ background-image: url(http://img.mukewang.com/wiki/5ed9bc1809824eef00180038.jpg); /* 禁止背景圖重復(fù) */ background-repeat: no-repeat; /* 令背景圖顯示在正確的位置 */ background-position: top; /* 為背景添加過(guò)渡動(dòng)畫(huà) */ transition: background .3s; } /* 當(dāng)鼠標(biāo)移入時(shí)的樣式定義 */ .sprite:hover { /* 令背景圖顯示在正確的位置 */ background-position: bottom; } </style> </head> <body> <div class="sprite"></div> </body> </html> 運(yùn)行結(jié)果: 可以看到其實(shí)就是這么個(gè)原理,兩張形狀一樣但顏色不一樣的圖形放在一張Css Sprite中,然后再控制位置即可。 3. 小結(jié)就是在頁(yè)面上加入了這么一個(gè)動(dòng)態(tài)的效果,頁(yè)面才不會(huì)顯得那么平靜如水。 有趣的交互效果能讓你的頁(yè)面熠熠生輝、錦上添花。 但并不是所有Css Sprite的尺寸都能這么完美的貼合元素,下一小節(jié)我們將告訴大家應(yīng)該如何調(diào)節(jié)背景圖片的大小以適應(yīng)頁(yè)面元素。 |