备用 <div> 可见性(鼠标悬停图像)

Posted

技术标签:

【中文标题】备用 <div> 可见性(鼠标悬停图像)【英文标题】:Alternate <div> Visibility (mouseover image) 【发布时间】:2014-05-10 00:01:10 【问题描述】:

我在这里遇到了一些麻烦。我想在鼠标悬停在下面的 div 上方时显示图像。

html

<div id="testmouseover">
<img src="testmouseover.png">
</div>

CSS:

#testmouseover 
 
     left: -9px; 
     top: -9px; 
     position: absolute; 
     width: 865px;
     height: 653px;
     z-index:1;
 

我有 4 个这样的 div 应该显示不同的图像,那么如何为悬停添加 ID? 有人可以帮我编写悬停的 CSS 代码吗?将不胜感激!

【问题讨论】:

【参考方案1】:

我认为这比你想象的要容易:试试 #testmouseover:hover

如果这不是正确答案,请在 codepen 上分享代码示例

【讨论】:

【参考方案2】:

onmouseover() 事件附加到 div。你可以从w3schools那里得到一些指点。

在鼠标悬停时调用的函数中,更改innerHTML 属性以获得所需的图像。

这可以使用 jQuery 更快地实现:

$("#divId").click(function()
    $(this).html("Ur image html here")
);

【讨论】:

太复杂了,你的答案需要包括 jQuery。简单地使用您的代码是行不通的。请参阅我的答案以获得非常简单和纯粹的 CSS 解决方案:***.com/a/22748599/3461722【参考方案3】:

如果有帮助,这里是一个 html 版本。如果我是正确的,z-index 是用于分层图像(堆叠)而不是用于鼠标悬停。

<img src="NORMAL IMAGE" onmouseover="this.src='MOUSE OVER IMAGE'" onmouseout="this.src='Normal Image'" >

【讨论】:

如果您只在一页上需要它,我的答案将起作用,但如果您需要在一页以上,则需要纯 CSS 方法。如果你能澄清一下会有所帮助。【参考方案4】:

试试这个,纯 CSS:

#testmouseover img 
    display: none;

#testmouseover:hover img 
    display: inline;

一定要给 div 一些宽度和高度,这样你就不会得到奇怪的闪烁的东西。对于多个 div,只需给它们不同的 ID 并复制此 CSS 几次。如果所有的 div 都相同,您也可以给它们全部相同的类,或者给它们一个具有上述 CSS 的类和一个具有 div 特定样式的 ID。

示例:http://jsfiddle.net/S44MS/

【讨论】:

以上是关于备用 <div> 可见性(鼠标悬停图像)的主要内容,如果未能解决你的问题,请参考以下文章

在 div 鼠标悬停时修改图像

当我将鼠标悬停在 div 上时,动画应该开始

仅在鼠标悬停 div 时显示滚动条

jquery 将鼠标悬停在图像上以交换上面 div 中的另一个图像

鼠标悬停在背景图像上的过渡

在鼠标悬停时更改 DataGrid ScrollBar 的可见性?