我在使导航栏工作时遇到了一些问题。以下是导航栏的所需输出:example。
我正在尝试这样做,以便当用户悬停导航栏的顶层时,会显示一个下拉列表。
但是,导航栏的第二级只是浮动。我该如何设计呢?
这是我的HTML:
<div id="menubar">
<ul id="menu">
<li class="selected"><a href="">Home</a></li>
<li><a href="">Volunteers</a>
<ul>
<li><a href="">Add</a></li>
<li><a href="">View</a></li>
<li><a href="">Update</a></li>
</ul>
</li>
<li><a href="">Packaging Session</a>
<ul>
<li><a href="">Add</a></li>
<li><a href="">View</a></li>
<li><a href="">Update</a></li>
</ul>
</li>
</ul>
</div>
这是我的CSS:
#menubar
{ width: 900px;
height: 72px;
padding: 0;
background: #1293EE;}
ul#menu, ul#menu li
{ float: left;
margin: 0;
padding: 0;}
ul#menu li
{ list-style: none;}
ul#menu li a
{ letter-spacing: 0.1em;
font: normal 100% arial, sans-serif;
display: block;
float: left;
height: 37px;
padding: 29px 26px 6px 26px;
text-align: center;
color: #FFF;
text-transform: uppercase;
text-decoration: none;
background: transparent;}
ul#menu li a:hover, ul#menu li.selected a, ul#menu li.selected a:hover
{ color: #FFF;
background: #0D66A5;}
ul#menu li ul li a
{
display: none;
height: auto;
margin: 0;
padding: 0;
position:absolute;
}
在Google Chrome中:
在Internet Explorer中:
答案 0 :(得分:1)
而不是隐藏下拉列表中的每个a
标记,而是隐藏整个ul
,并将其用作位置元素,并设置li
和{{1}的样式和任何其他元素一样。
查找“添加样式”区域。
答案 1 :(得分:0)
HTMLDog撰写了一篇非常有趣且全面的关于浮动菜单的文章:Sons of Suckerfish。
您会对the part about dropdowns特别感兴趣,特别是 the sample they provide 。
它将帮助您纠正更多,而不仅仅是您的浮动问题。
对于您的特定问题,我建议您禁用隐藏菜单,将所有内容设置为完美,如同所有子菜单都打开一样,然后重新激活隐藏子菜单:
/* Lists directly inside list-items. */
li>ul {
display: none;
}
/* Lists directly inside hovered list-items. */
li:hover>ul,
li.selected>ul {
display: block;
}
然后你会发现它更容易修复。