正確的方式做到這一點:
不要使用嵌套: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玩耍,仍然沒有運氣。好問題! –