1

我有一个css图像悬停效果,其中div中的图像变为0不透明度,然后显示背景图像。这意味着当您悬停时,一个图像会淡出,而另一个图像会出现。

此效果使用 CSS 和 webkit。

但问题是,当您将鼠标悬停在图像上时,效果会发生但不会反转,这意味着当您离开图像时它不会淡入。但这就是我想要的效果。

这是 HTML 标记...

<div id="info"><img src="infow1.png" width="800" height="800" /></div>

这是CSS标记...

#info   {
background: url(infow2.png) 0 0 no-repeat; 
position: fixed; 
top: 50%; 
left: 50%; 
margin-top: -400px;
margin-left: -400px;
width: 800px; 
height: 800px;
z-index:100;
opacity: 1;
-webkit-transition: opacity;
-webkit-transition-timing-function: ease-out;
-webkit-transition-duration: 500ms;
}
#info img:hover{
opacity:0;
-webkit-transition: opacity;
-webkit-transition-timing-function: ease-out;
-webkit-transition-duration: 500ms;
}

所以总的来说,我希望 infow.png 淡出,当您将鼠标悬停在图像上时,然后在您离开时淡入。

4

2 回答 2

5

这是你想要的?

HTML:

<img src="infow1.png" class="fadeOut">

CSS3:

.fadeOut {
    opacity: 1;
    transition: opacity .25s ease-in-out;
    -moz-transition: opacity .25s ease-in-out;
    -webkit-transition: opacity .25s ease-in-out;
}

.fadeOut:hover {
    opacity: 0;
}

JS 小提琴:http: //jsfiddle.net/AXQW4/1/

编辑:如果您想在悬停时显示不同的图像,可以将其添加为background-image原始图像后面:http: //jsfiddle.net/8qzcY/

于 2012-07-10T18:51:02.610 回答
1

您没有创建适用于未悬停图像的规则,因此如果您创建一些规则,如下所示:

#info img {
    opacity: 1;
    -webkit-transition: opacity;
    -webkit-transition-timing-function: ease-out;
    -webkit-transition-duration: 500ms;
}

JS 小提琴演示

它应该如你所愿。

相比之下,没有悬停#info img规则的相同演示:JS Fiddle demo,这似乎与您的描述相符。

于 2012-07-10T18:51:55.157 回答