2

这是我创建的垂直导航栏的代码,我还需要在此处添加一件事,那就是鼠标悬停时的弹出菜单。我尝试了很多东西,但没有奏效。这是我的 CSS 代码

.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>

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

4

2 回答 2

1

这是你要找的吗?

JSFiddle

这是关键,当您将 li 悬停时,具有类 .flyout 的子项将可见

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

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

于 2013-07-31T14:48:42.093 回答
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中,您需要将第一个和项目ul 之后设置为使其不显示。然后根据您的需要将悬停伪设置为或内联。这是它应该是什么样子的一个简单的小提琴。显然是一个简单的例子,但它说明了这一点。ullidisplay:nonedisplay:block

于 2013-07-31T15:08:45.037 回答