我正在尝试将这个css菜单放在一起,但我无法正常工作。当您浏览顶部菜单中的任何链接时,它会打开第二个菜单,但是当您继续它时,第二个菜单会消失。另外,它错位了。我不能把它放在左边:0
#menu {width:800px;background-color:#FFF;min-height:30px;border:0;border-top:2px solid #8BD2E4;padding:0 5px;margin:0 auto;}
#nmenu {list-style:none;padding:0;margin:0;width:700px;}
#nmenu li {display:inline;float:left;height:20px;margin-left:45px;position:relative;}
#nmenu li.frst {margin-left:0}
#nmenu li a {font: 11px/30px Tahoma, Geneva, sans-serif;text-decoration:none;color:#979598;letter-spacing:2px;font-weight:bold;text-transform:uppercase;}
#smedia {width:100px;height:30px;float:left;}
#fb, #tw, #pt {background: #FFF url(smedia.png) no-repeat center;width:16px;height:16px;display:block;float:right;margin:7px 3px;}
#fb {background-position: -1px -1px;}
#tw {background-position: -18px -1px;}
#pt {background-position: -35px -1px;}
#nmenu li ul {display:none;position:absolute;top:30px;left:0;border:1px solid red;background-color:#FFF;}
#nmenu li:hover ul {display:block}
#nmenu li ul li {float:left;width:100px;}
答案 0 :(得分:4)
尝试下面的css:
#nmenu li {
display: inline;
float: left;
margin-left: 44px;
position: relative;
}
#nmenu li ul {
background-color: #FFFFFF;
border: 1px solid red;
display: none;
left: -5px;
padding: 0;
position: absolute;
top: 30px;
}
#nmenu li a {
color: #979598;
display: block;
font: bold 11px/30px Tahoma,Geneva,sans-serif;
letter-spacing: 2px;
padding-left: 2px;
text-decoration: none;
text-transform: uppercase;
}
答案 1 :(得分:3)
修复消失的菜单:将5px底部填充添加到顶层锚点,这将消除元素之间的间隙。
'错位'问题是由ul
和li
元素的默认填充和边距引起的。明确设置边距和填充以定位它们。
答案 2 :(得分:1)
您在列表项目中应用了一个高度,而不是li
中的链接项,因此移动高度并将行高应用于与您的a
标记匹配的高度你的菜单块,然后你可以简单地重新定位你的子菜单,使其完全100%来自你的菜单项,如下所示:
<强> CSS 强>
#nmenu li a {
height:30px;
line-height:30px;
display:block;
}
#nmenu li ul {
top:100%;
}
答案 3 :(得分:0)
您的绝对定位会在容器<li>
和<ul>
子元素之间留下空隙。减少#nmmenu li ul {}
上“top”的值。