我使用以下菜单:
<ul id="menu">
<li class="subMenu">
<h2><a href="#"><span>menu item</span></a></h2>
<div>
<p><a href="#"><span>submenu item</span></a></p>
</div>
</li></ul>
我有以下css:
ul#menu {
float:right;
height:80px;
color: #FFF;
margin: 0;
padding: 0.8em 0em;
}
ul#menu li {
display: inline;
margin: 0.1em 1em;
position: relative;
}
ul#menu h2,ul#menu h3 {
font-size: 1em;
font-weight: bold;
display: inline;
}
ul#menu li a {
text-decoration: none;
}
ul#menu li a:hover {
text-decoration: underline;
}
ul#menu li.subMenu a {
padding: 0 1.2em;
}
ul#menu li.subMenu a:hover {
text-decoration: underline;
}
ul#menu div {
display: none;
}
ul#menu li.subMenu div {
border: 1px solid #fff;
width: 125px;
position: absolute;
top: 2.5em;
left: 30px;
background: #fff;
color: #000;
}
ul#menu li.hovered div {
display: block;
}
ul#menu li.subMenu div a {
text-decoration: none!important;
}
当我将鼠标悬停在子菜单项上时,有人可以建议我如何保持菜单项的悬停
提前谢谢。
答案 0 :(得分:1)
Quick solution in jsFiddle。 (请参阅CSS中的注释以了解我已更改的内容。)
你已经完成了大部分工作。用ul#menu li.hovered div
替换CSS中的ul#menu li:hover div
选择器是大部分的战斗;其余的是调整子菜单位置,这样你实际上可以将鼠标悬停在它上面而不会消失。 (在上面的jsFiddle中,我只使用填充而不是绝对定位偏移。)
但是,请注意上面的评论者!他们的观察完全正确且密切相关:
div
中的段落,但通常我希望看到一个嵌套列表;此外,跨度似乎是不必要的,当您在父submenu
上已有ID时,您不需要列表项上的ul
类。答案 1 :(得分:1)
答案 2 :(得分:0)
您可以使用li:hover来显示li标签的内容。您还可以按照这个简单的教程创建pure CSS hover menu。