请帮我这个导航栏

时间:2013-07-31 14:39:34

标签: html css

这是我创建的垂直导航栏的代码,还有一件事我需要在这里添加,这是鼠标悬停的弹出菜单。我尝试了很多东西,但它没有用。 这是我的CSS CODE

.navbar{
list-style-type: none;
margin: 0;
padding: 10px;
width: 280px; /* width of menu */
}

.navbar li{
border-bottom: 1px solid white; /* white border beneath each menu item */
}

.navbar li a{
background: #333 url(media/sexypanelright.gif) no-repeat right top; /*color of menu by default*/
font: bold 13px "Lucida Grande", "Trebuchet MS", Verdana;
display: block;
color: white;
width: auto;
padding: 5px 0; /* Vertical (top/bottom) padding for each menu link */
text-indent: 8px;
text-decoration: none;
border-bottom: 1px solid black; /*bottom border of menu link. Should be equal or darker to link's bgcolor*/
}

.navbar li a:visited, .navbar li a:active{
color: white;
}

.navbar li a:hover{
background-color: black; /*color of menu onMouseover*/
color: white;
border-bottom: 1px solid black; /*bottom border of menu link during hover. Should be            equal or darker to link's hover's bgcolor*/
}

和html部分是这个

<ul class="navbar">
<li><a href="#">»  Computers</a>

</li>
<li><a href="#" >»  Networking Solutions</a></li>
<li><a href="#/">»  Security Solutions</a></li>
<li><a href="#">»  Office Automations</a></li>
<li><a href="#">»  Gadgets</a></li>
<li><a href="#">»  Projectors and Display     Screens</a></li>
<li><a href="#">»  Peripherals and Components</a></li>
<li><a href="#">»  Softwares</a></li> 
<li class="lastitem"><a href="#">»  Customized Solutions</a></li>       
</ul>

我想要的是当用户将鼠标悬停在此列表中的任何项目上时,会出现带有菜单的弹出菜单。提前谢谢。

2 个答案:

答案 0 :(得分:1)

这是你要找的吗?

JSFiddle

这是关键,当你悬停li时,带有类.flyout的孩子将可见

.navbar li:hover .flyout {
    display: block;
}

PS:我只为主菜单中的前两个声音添加了一个子菜单,以保持代码简短

答案 1 :(得分:0)

实现此目的的方法实际上非常简单。在您想要子菜单的列表ul元素之后添加额外的无序列表li 。例如,假设您只想在“网络解决方案”上使用子菜单,那么您的html将如下所示:

<ul class="navbar">
    <li><a href="#">»  Computers</a></li>
    <li><a href="#" >»  Networking Solutions</a>
        <ul>
          <li>This is a submenu item</li>
          <li>Another submenu item</li>
        </ul>
      </li>
    <li><a href="#/">»  Security Solutions</a></li>
    <li><a href="#">»  Office Automations</a></li>
    <li><a href="#">»  Gadgets</a></li>
    <li><a href="#">»  Projectors and Display     Screens</a></li>
    <li><a href="#">»  Peripherals and Components</a></li>
    <li><a href="#">»  Softwares</a></li> 
    <li class="lastitem"><a href="#">»  Customized Solutions</a></li>       
</ul>

然后在你的css中,你需要在第一个ulul项目之后将li 设置为display:none,以便它不会节目。然后根据您的需要将悬停psuedo设置为display:block或内联。这是一个简单的fiddle它应该是什么样子。显然是一个简单的例子,但它说明了这一点。