我已经为我的下拉菜单编写了一个css代码
我的下拉菜单问题是::
我的HTML ::
<div class="menu">
<ul>
<li><a href="#">aaaaaaaaaa</a></li>
<li><a href="#">bbbbbbbbbb</a>
<ul>
<li><a href="#">aaaaaaaaaa</a></li>
<li><a href="#">bbbbbbbbbb</a></li>
</ul>
</li>
</ul>
</div>
我的css ::
.menu{
width:70%;
overflow:hidden;
background:green;
position:relative;
}
.menu ul{list-style:none;}
.menu ul li{ margin-left:20px;position:relative; float:left}
.menu ul ul{display:none;}
.menu ul li:hover ul{display:block; background:black;}
.menu ul li:hover ul li{ float:none;}
请解释我的错误
答案 0 :(得分:2)
您必须在代码中进行一些更改。
的 Fiddle 强>
css
.menu{
width:70%;
background:green;
position:relative;
}
.menu ul{list-style:none;}
.menu ul li{ margin-left:20px;position:relative; float:left}
.menu ul ul{display:none;}
.menu ul li:hover ul{display:block; background:black;
position: absolute; margin: -2px 0 0 0; z-index: 11110;}
.menu ul li:hover ul li{ float:none; height:20px; }
<强> Updated Fiddle 强>
更改:
display:inline-block; 占据内部容器的组合宽度
position:relative; 在菜单中使用它会导致外部容器的高度增加
你可以在w3school
答案 1 :(得分:2)
这就是你想要的吗?
.menu{
width:70%;
overflow:hidden;
background:green;
position:relative;
}
.menu ul{list-style:none;}
.menu ul li{ margin-left:20px;position:relative; float:left}
.menu ul ul{display:none;}
.menu ul li:hover ul{display:block; background:black;}
.menu ul li:hover ul li{ float:none;}