【发布时间】:2017-03-19 19:30:30
【问题描述】:
我无法让我的孩子<ul> 正常显示。当下拉菜单打开时,它会显示在菜单的其余部分下方。我想要的是 <li> 的其余部分向下移动以为下拉菜单腾出空间。
HTML:
<ul class="nav">
<li>One</li>
<li>Two
<ul>
<li>Two One</li>
<li>Two Two</li>
</ul>
</li>
<li>
Three
<ul>
<li>Four</li>
<li>Five</li>
</ul>
</li>
</ul>
CSS:
.nav {
width: 250px;
font-size: 18px;
color: white;
list-style: none;
display: block;
z-index: 2;
}
.nav li {
background-color: #000;
display: block;
height: 40px;
line-height: 40px;
text-align: center;
}
.nav li:hover {
background-color: #008cba;
}
.nav ul {
display: none;
font-size: 16px;
z-index: 3;
}
.nav ul li {
background-color: #cccccc;
color: #000;
border-bottom: #464646 solid 1px;
}
.nav ul li:hover {
background-color: #464646;
}
.active {
display: initial!important;
tranistion: 0.5s;
}
jQuery:
$(document).ready(function() {
$("ul.nav li ").click(function() {
$(this).find("ul").toggleClass("active");
});
});
【问题讨论】:
-
请创建一个小提琴,以便社区可以轻松检查。
-
@M3Dev jsfiddle.net/rmmocbwr
-
从 .nav 中删除高度 li 见这里:jsfiddle.net/rmmocbwr/2
标签: javascript jquery html css sass