我正在尝试在CSS3中完全创建一个下拉菜单。在大多数情况下,我已经完成了我想要的,但出于某种原因,我似乎无法在下拉菜单中添加margin-top: 10px;
,因为我不希望它触及主链接。它似乎在悬停到边缘时停用了悬停?
我在jsFiddle上发布了一个没有边距的工作示例:http://jsfiddle.net/J5QSv/
这是margin-top: 10px;
,不起作用:http://jsfiddle.net/RastaLulz/J5QSv/2/
正如您所看到的,这完全正常。但是,当您取消注释margin-top: 10px;
时,它将不再有效。
你知道解决这个问题的方法吗?或解决方法?
HTML
<span class="LinksMenu">
<ul>
<li>
<a href="#">Account</a>
<ul>
<li><a href="#">Settings</a></li>
<li><a href="#">Logout</a></li>
</ul>
</li>
</ul>
</span>
CSS
body {
padding: 10px;
background: #F3F3F3;
}
a:link,a:visited { color:#000; text-decoration:none }
a:hover,a:active { color:#000; text-decoration:underline }
.LinksMenu {
margin:0;
padding:0;
clear: both;
}
.LinksMenu ul {
margin:0;
padding:0;
}
.LinksMenu li {
margin:0;
padding:0;
list-style:none;
float: left;
position: relative;
}
.LinksMenu ul ul li a {
margin: 0;
padding: 10px;
width: 100px;
display: block;
text-shadow: 0;
color: #000;
}
.LinksMenu ul ul {
/* margin-top: 3px; */
border: 1px solid #CCC;
border-radius: 3px;
background: #FFF;
position: absolute;
visibility: hidden;
}
.LinksMenu ul li:hover ul {
visibility: visible;
}
答案 0 :(得分:3)
一个修复方法是在悬停时为悬停元素添加高度,因此该元素位于显示的元素下方。您需要将一个类添加到顶级<li>
。
.LinksMenu ul li.myClass:hover{
height: 80px;
}