【问题标题】:Image Hover in Reverse using CSS使用 CSS 反向图像悬停
【发布时间】:2012-07-10 07:30:54
【问题描述】:

我有一个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 在您将鼠标悬停在图像上时淡出,然后在您离开时淡入。

【问题讨论】:

  • 您希望图像最初可见,然后在悬停后淡出?

标签: html css webkit hover opacity


【解决方案1】:

这是你要找的吗?

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/

【讨论】:

    【解决方案2】:

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

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

    JS Fiddle demo.

    它应该如你所愿。

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

    【讨论】:

      猜你喜欢
      • 2020-04-04
      • 2013-04-13
      • 2013-10-30
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      相关资源
      最近更新 更多