我有一个绝对定位div
,在a
的悬停时显示。因为它绝对位于锚点的基础(top:0; left:0
),所以我希望让用户从锚点移动到div而不隐藏div 。
实际上,我准备了一段JQuery代码,但我只能让div在悬停时显示。当我从锚点移动到div时,后者被隐藏得很隐蔽。 看看JSFiddle看看我做了什么。
提前致谢。
答案 0 :(得分:2)
您需要通过链接包装div。这种悬停div的方式也会被识别为悬停在链接上,因为它是父级。
<a>
Hover Me!
<div>Hidden Message.</div>
</a>
此任务完全不需要javascript。
等一下我的小提琴。这是:http://jsfiddle.net/xwder/1/
或者,您可以将a
和div
包装在另一个容器中,这样您就不会在链接中包含子项。查看Alex的答案。
答案 1 :(得分:2)
首先,你通过使用javascript使一切变得复杂。在这种情况下,您不需要它,因为您可以使用父容器来处理悬停操作。
我个人会这样做:http://jsfiddle.net/qLUf9/
<div class="hover_container">
<a class="button">Click Me</a>
<div class="container">
This is my hover content.
</div>
</div>
CSS:
a.button {
background-color: blue;
color: #fff;
}
.hover_container {
position: relative:
}
.hover_container .container {
display: none;
border: 1px solid #000;
float: left;
position: absolute;
left: 0;
top: 20px;
}
.hover_container:hover .container {
display: block;
}
请注意: IE6不支持块元素的:hover
属性。对于IE6及更低版本,您必须使用一些基本的JavaScript来向该元素添加hovered
等类。您可以在此处阅读有关修复IE6悬停错误的更多信息:http://robspangler.com/blog/hover-pseudo-class-bug-fix-for-ie6/
答案 2 :(得分:0)
试试这个。我认为它可以做你想要的而不会过多地改变你的代码。 :)