目前我在一个网站上工作,该网站在单独的精灵表上有多个图像(就像这个链接(imgur)中的两个)。我正在尝试将较暗的图像淡化为较亮的图像,我一直在使用类似于的东西
.display {
background-image: url("../images/1.png");
display: block;
background-position: 0 -53px;
width: 124px;
height: 53px;
}
.display:hover {
background-image: url("../images/1.png");
display: block;
background-position: 0 0px;
width: 124px;
height: 53px;
}
这是有效的,但它只是让图像立即改变,我更喜欢悬停时的某种"淡入"或"光晕"效果。实现我想要的结果最简单的方法是什么?我想它可能是jQuery或CSS3中的东西,但我真的没有运气。
在CSS 3中,您可以这样做,设置opacity
并添加transformation
,这样您只需要一个图像!看看这个:
img {
opacity: 0.5;
transition: opacity 0.5s;
-moz-transition: opacity 0.5s; /* Firefox 4 */
-webkit-transition: opacity 0.5s; /* Safari and Chrome */
-o-transition: opacity 0.5s; /* Opera */
}
img:hover {
opacity: 1;
transition: opacity 0.5s;
-moz-transition: opacity 0.5s; /* Firefox 4 */
-webkit-transition: opacity 0.5s; /* Safari and Chrome */
-o-transition: opacity 0.5s; /* Opera */
}
Fiddle:http://jsfiddle.net/sBeed/
将一个div放在带有悬停类的容器中,然后淡入悬停div。我以前做过。。。这适用于任何浏览器,甚至ie7/ie8
<div class="container">
<div class="hover"></div>
</div>
$(".container").hover(function(){
$(".hover", this).fadeIn();
});
.container {
position:relative;
}
.container.hover {
position:absolute;
top:0px;
left:0px;
display:none;
}