0

我有 2 个单独的菜单。当将鼠标悬停在菜单 #1 上的某些按钮上时,我想在菜单 #2 中显示链接。如果可能的话,我想尝试使用 CSS 来做到这一点。我正在使用的一些CSS如下。

HTML:

<nav>
    <ul>
        <li><a href="http://www.xecforce.com">HOME</a></li>
        <li><a href="#">NEWS</a></li>
        <li><a href="#">FORUMS</a></li>
                <li><a href="#">GAMES</a></li>
                <li><a href="#">XECOM</a></li>
    </ul>
</nav>

<div id="sub-menu-items">
<ul>
  <li><a href="#">Test 1</a></li>
  <li><a href="#">Test 2</a></li>
</ul>
</div>

CSS:

#sub-menu-items ul li {
list-style-type: none;
z-index: 99999;
margin-right: 15px;
padding-bottom: 8px;
padding-top: 8px;
display: none;
text-shadow: 2px 3px 3px #080808; 
}

nav ul li:first-child:hover #sub-menu-items ul li {
display: inline;
}

这怎么行不通?

4

3 回答 3

1

您需要将子菜单嵌套在父“li”中您的代码将如下所示:

<nav>
    <ul class="parent-menu">
        <li><a href="http://www.xecforce.com">HOME</a></li>
        <li><a href="#">NEWS</a>
           <ul class="sub-menu">
             <li><a href="#">Test 1</a></li>
             <li><a href="#">Test 2</a></li>
           </ul>
        </li>
        <li><a href="#">FORUMS</a></li>
        <li><a href="#">GAMES</a></li>
        <li><a href="#">XECOM</a></li>
</ul>
</nav>

然后你可以设置子菜单 ul & li (最好是 position:absolute) 和 css 可以是: .parent-menu li:hover .sub-menu { display:block}

于 2013-02-28T04:52:40.623 回答
1

子菜单项必须是您悬停的 li 的子项。这就是这个选择器的意思:

nav ul li:first-child:hover #sub-menu-items ul li

CSS下拉菜单是这样完成的:

HTML

<ul>
<li>Parent Item
    <ul>
       <li>Sub item</li>
       <li>Sub item</li>
    </ul>
</li>
<li>Parent Item
    <ul>
       <li>Sub item</li>
       <li>Sub item</li>
    </ul>
</li>
</ul>

CSS

ul ul {
display: none;
}

ul > li:hover ul {
display: block;
}
于 2013-02-28T04:54:03.377 回答
0

元素的 ':hover' 状态只能影响其子元素。要使用 :hover 来影响外部元素,您可以使用 javascript。

此行中的 CSS

nav ul li:first-child:hover #sub-menu-items ul li {display: inline;}

正在“nav”的第一个“li”中寻找“#sub-menu-items ul li”。

根据您的布局,只有将第二个菜单移动到第一个菜单内,才能达到预期的效果。

于 2013-02-28T04:55:04.150 回答