正确的方式做到这一点:
不要使用嵌套:hover
比尝试目标>
(儿童)或+
(下一个兄弟)的元素。
正确地维护它绑定到一个共同的父元素的悬停状态,
<grandparent> // hover triggers 'parent' to show up
<UI image>
<parent> // initially hidden, hover triggers HIDDEN to show up!
<UI icon>
<HIDDEN until PARENT is hovered>
</parent>
</grandparent>
LIVE DEMO
<div class="feed_photo_portrait">
<img src="//placehold.it/150x110/cf5&text=IMAGE">
<div class="edit">
<img class="edit-ico" src="//placehold.it/50x50/f0f&text=EDIT" >
<ul class="edit-options">
<li><a href="#">Make Profile Picture</a></li>
<li><a href="#">Delete This Photo</a></li>
</ul>
</div>
</div>
CSS:
.feed_photo_portrait{
background:#eee;
}
.edit{
position:absolute;
display:none;
top: 20px;
right: 10px;
}
.feed_photo_portrait:hover > .edit{
display:block;
}
.edit-options{
display:none;
background:#fff;
position: absolute;
width: 115px;
top: 12px;
right: 8px;
}
/* Don't use .edit-ico for the hover but the common parent .edit */
.edit:hover > .edit-options{
display:block;
}
演示是越野车即使在FF(好吧,在Chrome中并没有显示出来) –
@ RokoC.Buljan为了演示的目的,我简化了它。目前它只显示悬停在编辑图标上的菜单(在菜单上悬停时消失)。我只是添加了另一行CSS来改进它。 – user3420034
+1玩耍,仍然没有运气。好问题! –