這樣做,這將是如下的純CSS方式:
#display {
background: url('/src/images/icons/display.png') no-repeat 0 0;
margin-right: 10px;
height: 49px;
width: 49px;
float: left;
}
#display:after {
content: "";
display: block;
background: url('/src/images/icons/display.png') no-repeat 0 -49px;
margin-right: 10px;
height: 49px;
width: 49px;
float: left;
opacity: 0;
-webkit-transition-property: opacity;
-moz-transition-property: opacity;
-o-transition-property: opacity;
-ms-transition-property: opacity;
transition-property: opacity;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
-ms-transition-duration: 0.3s;
transition-duration: 0.3s;
}
#display:after:hover {
opacity: 1;
}
這段代碼的作用是使用CSS3:僞元素後,基本上建立在上面一個全新的形象,然後淡出,從當它懸停時透明不透明。
唯一的問題是,Firefox是目前唯一支持淡入淡出的瀏覽器:之前和之後:僞元素。
如果你有一個內部的子元素(如DIV或元素),你可以這樣做,而不是:
#display {
background: url('/src/images/icons/display.png') no-repeat 0 0;
margin-right: 10px;
height: 49px;
width: 49px;
float: left;
}
#display a {
display: block;
background: url('/src/images/icons/display.png') no-repeat 0 -49px;
height: 49px;
width: 49px;
float: left;
opacity: 0;
-webkit-transition-property: opacity;
-moz-transition-property: opacity;
-o-transition-property: opacity;
-ms-transition-property: opacity;
transition-property: opacity;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
-ms-transition-duration: 0.3s;
transition-duration: 0.3s;
}
#display:hover a {
opacity: 1;
}
希望幫助:)
這不起作用的伴侶,或者我沒有解決/ /: – 2013-06-29 21:37:50