我创建了两级垂直菜单。在鼠标悬停时,应该出现第二级,但它没有。
一级菜单是ul.side_nav,二级菜单是ul.side_sub_nav。我认为以下应该在鼠标悬停时显示第二个菜单:
.side_nav li:hover>ul.side_sub_nav>li {
color: red;
display:block; //it was display:none; before
}
这是我的完整代码:
<ul class="side_nav">
<li class="li_sb "> <a href="index.php?p=subcategories_list&cat=1">Vie professionnelle</a>
</li>
<ul class="side_sub_nav">
<li>Vie professionnelle - subc2</li>
<li>Vie professionnelle - subc1</li>
</ul>
<li class="li_sm "> <a href="index.php?p=subcategories_list&cat=4">Administration et droit</a>
</li>
<ul class="side_sub_nav">
<li>Administration et droit - subc1</li>
<li>Administration et droit - subc2</li>
</ul>
<li class="li_sp "> <a href="index.php?p=subcategories_list&cat=5">Vie pratique</a>
</li>
<ul class="side_sub_nav">
<li>Vie pratique - subc1</li>
<li>Vie pratique - subc2</li>
</ul>
<li class="li_sh "> <a href="index.php?p=subcategories_list&cat=6">Immobilier et logement</a>
</li>
<ul class="side_sub_nav">
<li>Immobilier et logement - subc1</li>
<li>Immobilier et logement - subc2</li>
</ul>
</ul>
CSS:
.side_nav {
list-style-type: none;
list-style-image: none;
width: 250px;
margin-bottom: 37px;
}
.side_sub_nav {
list-style-type: none;
list-style-image: none;
width: 250px;
display: none;
}
.side_nav li {
background-color: #f0f0f0;
background-repeat: no-repeat;
background-position: 8px center, 232px center;
height: 42px;
line-height: 42px;
border: 1px solid #dddddd;
font-size: 16px;
padding-left: 45px;
cursor: pointer;
}
.side_sub_nav li {
background-color: #008ec9;
height: 42px;
line-height: 42px;
border: 1px solid #dddddd;
font-size: 12px;
padding-left: 22px;
cursor: pointer;
color: white;
}
.side_nav li a, .side_sub_nav li a {
text-decoration: none;
color: #3f3f3f;
}
.side_nav li:hover, .side_nav li.active {
background-color: #008ec9;
}
.side_nav li:hover a, .side_nav li.active a {
color: white;
}
.side_nav li:hover>ul.side_sub_nav>li {
color: red;
display:block;
}
jsfiddleE:http: //jsfiddle.net/Sggsz/
编辑: 我需要一个接一个地显示第一级和第二级菜单。因此,当第二级出现时,它应该将第一级项目向下推。