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),一張雪碧圖就可以顯示出各式各樣不同的圖標(biāo),是不是很神奇呢?
2. 更加直觀的理解
如果有些同學(xué)并沒(méi)有能夠理解的話,我們可以給背景加上一個(gè)過(guò)渡動(dòng)畫,方便大家理解究竟是如何切換圖標(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)畫 */
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è)原理,兩張形狀一樣但顏色不一樣的圖形放在一張雪碧圖中,然后再控制位置即可。
3. 小結(jié)
就是在頁(yè)面上加入了這么一個(gè)動(dòng)態(tài)的效果,頁(yè)面才不會(huì)顯得那么平靜如水。
有趣的交互效果能讓你的頁(yè)面熠熠生輝、錦上添花。
但并不是所有雪碧圖的尺寸都能這么完美的貼合元素,下一小節(jié)我們將告訴大家應(yīng)該如何調(diào)節(jié)背景圖片的大小以適應(yīng)頁(yè)面元素。