我试图让子菜单项在一段时间后仅使用CSS消失。可悲的是,如果我有多个子菜单并将鼠标悬停在下一个子菜单上,另一个菜单还没有消失。当下一个子菜单仅用CSS显示时,如何使上一个子菜单消失?为子菜单设置仅CSS菜单消失延迟
对我来说,编写一个JQuery脚本来实现这一点并不难,但如果我可以使用css来完成,那将会很好。如果这不适用于CSS,会不会推荐任何JS/JQuery插件?
http://codepen.io/anon/pen/aBPBbj
nav > ul > li {
display: inline-block
}
nav > ul > li ul {
visibility: hidden;
position: absolute;
top: 105%;
left: 0;
transition: 0.2s 1s;
}
nav > ul > li:hover ul {
visibility: visible;
transition-delay: 0s;
}
nav ul {
list-style: none;
padding: 0;
margin: 0;
}
nav li {
width: 100px;
background: #eee;
margin: 2px;
position: relative;
padding: 10px;
}
nav a {
display: block;
}
body {
padding: 10px;
}
<nav>
<ul>
<li>
Dropdown
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</li>
<li>
Dropdown
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</li>
</ul>
</nav>
就像我在我的第一句话就说:“我想有只分使用CSS一定的时间后,菜单项消失。” – inControl
这听起来像OP想要保持延迟,但只有当另一个子菜单没有悬停。 @inControl,我强烈建议使用JS/jQuery这个 –
我听不懂。你想让它们在一段时间后消失。现在,当您将鼠标悬停在下一个子菜单上时,另一个菜单尚未消失 - 如您所愿。我读过prev评论,好像现在我知道你想要什么。 – rinatoptimus