【发布时间】:2011-11-30 07:49:49
【问题描述】:
我正在尝试完全在 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;
}
【问题讨论】:
-
在这里工作得很好。 Win XP 上的 Chrome(最新)。 (我知道...)您在哪个浏览器中进行测试?同样在您的小提琴中,它是
margin-top: 3px;我将其更改为 30 并且效果很好。 -
在 Firefox 8.0 中测试并且工作正常。
-
我在 Mac 上使用最新版本的 Google Chrome。您是否取消注释边距部分,然后运行它?我已经尝试过 Safari 和 Chrome,但我无法滚动子链接(它们消失了)。 jsfiddle.net/RastaLulz/J5QSv/2
标签: html css margin drop-down-menu