【发布时间】:2015-04-22 22:10:48
【问题描述】:
我在 Wordpress 中有一个具有 3 个级别的 css 菜单,问题是悬停时无法到达打开级别 3 的菜单级别 2 下方的级别(完整的 2 级菜单关闭)。 有什么帮助吗?
我的代码是:
<div class="nav">
<ul>
<li><a href="#">Main-menu</a>
<ul class="sub-menu">
<li><a href="#">Sub-item</a></li>
<li><a href="#">Second-submenu</a>
<ul class="sub-menu">
<li><a href="#">XY</a></li>
<li><a href="#">XY</a></li>
<li><a href="#">XY</a></li>
</ul>
</li>
<li><a href="#">Last-sub-menu</a>
<ul class="sub-menu">
<li><a href="#">XY</a></li>
<li><a href="#">XY</a></li>
<li><a href="#">XY</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Second-item</a></li>
</ul>
</div>
还有css:
.nav { font-size:1.4em; }
.nav ul { padding:0; margin: 0; background: #0A488E; }
.nav ul li { display:inline-block; margin-right:5%; }
.nav ul li a { color:white; }
.nav li ul.sub-menu {
display: none;
position: absolute;
padding: 7px 21px;
padding-left: 21px;
text-align: left;
margin-left: -21px;
background: #0A488E;
font-size: 0.9em;
z-index: 100;
}
.nav li:hover > ul.sub-menu, .nav li ul.sub-menu li:hover > ul.sub-menu {
display: block;
}
.nav li ul.sub-menu li {
display:block;
margin: 9px 0;
}
.nav li ul.sub-menu li ul.sub-menu {
position: relative;
padding: 0 5%;
}
小提琴在这里:https://jsfiddle.net/f7ny3s3r/2/
(最后一个子菜单有问题)
感谢您的帮助!
【问题讨论】:
-
它有效,这只是您设置这些项目的方式。当您通过第二个子菜单向下移动鼠标时 - 它会在鼠标离开时打开和关闭。当鼠标将其留在底部时,它会使该菜单变小,因此您无法点击底部项目。一个建议可能是让子子项出现在一边。
-
另外 - 我知道这只是标记为 css,所以这只是一个建议 - 但如果你不介意添加一点 js/jquery,你可以将子菜单更改为单击。
-
谢谢,但我想保留菜单 css 并悬停 - 如果可能的话,因为主菜单项也有各自的页面。
-
顺便说一句。是否有可能延迟关闭打开的菜单,所以让用户将鼠标悬停在底部的菜单上?