我有一个生成的无序列表,其中包含我要在下拉菜单中创建的列表。
问题在于我不知道会有多少级别,我只希望一次显示一个级别。
到目前为止,我得到了这个:
HTML:
<ul class="nav">
<li>
<a href="#">link1</a>
</li>
<li>
<a href="#">link2</a>
<ul>
<li>
<a href="#">link2.1</a>
<ul>
<li>
<a href="#">link2.1</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
CSS:
.nav ul {
}
.nav li ul {
display: none;
}
.nav ul li a {
display: block;
}
.nav li:hover ul {
display: block;
}
然而,此代码显示悬停在顶部时的所有子ul。而我想要的只是展示下一个级别,并隐藏在该级别下的子级别。等等。但仍然显示水平。
答案 0 :(得分:5)
<强> jsFiddle DEMO 强>
.nav ul {
}
.nav li ul {
display: none;
}
.nav ul li a {
display: block;
}
.nav li:hover>ul { //change here
display: block;
}
不显示ul
的所有hover
子女,而只展示直接子女。