您好我正在尝试构建不同级别的菜单。当我尝试将鼠标悬停在我的li
项目上以显示下一级别时,它无效。
任何人都可以帮助我吗?
CSS的代码是:
/********************* RESET ********************/
.menu, .memu ul{
margin:0;
padding: 0;
list-style: none;
}
/********************* MENU ITEMS ********************/
.menu > li {float:left;}
.menu > li.floatr{float:right;}
.menu li{position:relative;}
.menu li > a{display:block;}
/********************* SUB MENU ********************/
.menu ul{
display:none;
position:absolute;
width:125px;
}
.menu li:hover > ul {display:block;}
.menu ul ul{
top:0px;
left:125px;
}
.menu > li.floatr > ul {right:0;}
.menu > li.floatr > ul ul {left:-125px;}
html是:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Menu</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body style="padding:20px;">
<ul class="menu">
<li><a href="#">Blog</a></li>
<!-- strat level 2 -->
<ul>
<li><a href="#">Add post</a></li>
<li><a href="#">Archive</a></li>
<!-- start level 3 -->
<ul>
<li><a href="#">By Author</a></li>
<li><a href="#">By Year</a></li>
<li><a href="#">By Category</a></li>
</ul>
<!-- end level 3 -->
<li><a href="#">Comments <span class="bubble">50</span></a></li>
</ul>
<!-- end level 2 -->
<li><a href="#">Products</a></li>
<li><a href="#">Messages <span class="bubble-alt">4</span></a></li>
<li><a href="#">Updates <span class="bubble">23</span></a></li>
<li class="floatr"><a href="#">Envanto</a></li>
<li class="floatr"><a href="#">Social</a></li>
<!-- strat level 2 -->
<ul>
<li><a href="#">Twitter</a></li>
<li><a href="#">Facebook</a></li>
<li><a href="#">Google+</a></li>
</ul>
<!-- end level 2 -->
</ul>
</body>
</html>
答案 0 :(得分:6)
您实际上是使用.menu li:hover > ul
定位列表项中的无序列表。
但是在您的HTML中,<ul>
不在<li>
内,而是在<ul>
之后。
您可以通过将<li>
放在上一个.menu li:hover + ul
内来修改HTML以适合CSS选择器,也可以使用相邻的兄弟选择器(+)代替{{1}}。