【发布时间】:2014-10-12 19:44:56
【问题描述】:
我有一个带有嵌套子菜单的垂直菜单,单击时子菜单看起来很好。即使用户将鼠标移到子菜单悬停区域之外,我也希望子菜单保持打开状态。所以它实际上是一对列表。
<nav id="menu">
<ul id ="navigation">
<li><a id="fly1" href="#" >First menu</a>
<ul id="dropdown1">
<li><a href="#">Item 1</a></li>
<li><a href="#">tem 2 </a></li>
<li><a href="#">tem 3</a></li>
</ul>
</li>
<li><a id="fly2" href="#" >second menu</a>
<ul id="dropdown2">
<li><a href="#"> tem A</a></li>
<li><a href="#">item B</a></li>
<li><a href="#">item C</a></li>
</ul></li>
</ul>
</nav>
这是到目前为止的 css。它工作正常,但子菜单不会保持打开状态。
#menu {
overflow: auto;
position: relative;
z-index: 2;
}
#navigation {
background-color: #0c8fff;
min-width: 200px;
float: left;
}
#menu ul {
list-style-type: none;
}
#menu ul li a {
padding: 10px 15px;
display: block;
color: #333;
text-decoration: none;
}
#menu ul li:hover > ul {
left: 200px;
}
#menu ul li > ul {
position: absolute;
background-color: #fff;
top: 0;
z-index: -1;
left: -200px;
min-width: 200px;
height: 100%;
}
#menu ul li > ul li a:hover {
background-color: #2e2e2e;
}
【问题讨论】:
-
它不会保持打开状态,因为css只有一个悬停状态,所以当你用css在第一个或第二个菜单上时你只有一个悬停效果,鼠标进入它会显示菜单和鼠标移出它会隐藏它。因此,您需要 jQuery 或 javascript 添加一个与打开菜单时具有相同 css 样式的类 :)