好吧我的问题是我的嵌套子类别应该隐藏,直到我将鼠标悬停在父类别上,但当我将鼠标悬停在主要父类别上时,会显示所有子类别和子子类别。
如何解决此问题,以便只显示父子类别,而不是子类子子类别,直到我将鼠标悬停在子类别上?
这是CSS。
#nav-container ul.cat-container ol ol ol ol li a {
visibility: hidden;
height: 0;
display: none;
}
#nav-container ul.cat-container ol ol ol li a {
visibility: hidden;
height: 0;
display: none;
}
#nav-container ul.cat-container ol ol li a {
visibility: hidden;
height: 0;
display: none;
}
#nav-container ul.cat-container ol li {
visibility: hidden;
height: 0;
display: none;
}
#nav-container ul.cat-container ol ol ol li:hover ol li a {
visibility: visible;
height: auto;
display: block;
}
#nav-container ul.cat-container ol ol li:hover ol li a {
visibility: visible;
height: auto;
display: block;
}
#nav-container ul.cat-container ol li:hover ol li a {
visibility: visible;
height: auto;
display: block;
}
#nav-container ul.cat-container li.cat-header:hover ol li {
visibility: visible;
height: auto;
display: block;
}
这是HTML。
<div id="nav-container">
<ol>
<li>
<ul class="cat-container">
<li class="cat-header">
<h2><a href="#"class="header">First Nested List</a></h2>
<ol>
<li><a href="#">Second Nested List</a></li>
<li><a href="#">Second Nested List</a></li>
</ol>
</li>
<li class="cat-header">
<h2><a href="#" class="header">First Nested List</a></h2>
<ol>
<li><a href="#">Second Nested List</a></li>
<li><a href="#">Second Nested List</a></li>
</ol>
</li>
<li class="cat-header">
<h2><a href="#" class="header">First Nested List</a></h2>
<ol>
<li><a href="#">Second Nested List</a></li>
<li><a href="#">Second Nested List</a>
<ol>
<li><a href="#">Third Nested List</a></li>
<li><a href="#">Third Nested List</a>
<ol>
<li><a href="#">Fourth Nested List</a></li>
<li><a href="#">Fourth Nested List</a></li>
</ol>
</li>
<li><a href="#">Third Nested List</a>
<ol>
<li><a href="#">Fourth Nested List</a>
<ol>
<li><a href="#">Fifth Nested List</a></li>
<li><a href="#">Fifth Nested List</a></li>
</ol>
</li>
<li><a href="#">Fourth Nested List</a></li>
</ol>
</li>
<li><a href="#">Third Nested List</a></li>
</ol>
</li>
<li><a href="#">Second Nested List</a></li>
</ol>
</li>
</ul>
</li>
</ol>
</div>
答案 0 :(得分:2)
@kei你有解决我的问题的方法吗?
嗯..假设解决方案不涉及IE6-支持并且仅涉及在悬停时仅显示直接子项的问题,那么是的,我可能有一个解决方案:
如您的css
所示插入>
#nav-container ul.cat-container ol ol ol li:hover > ol > li > a
#nav-container ul.cat-container ol ol li:hover > ol > li > a
#nav-container ul.cat-container ol li:hover > ol > li > a
答案 1 :(得分:1)
这是你想要的CSS:
ul.cat-container li {
display: none;
}
ul.cat-container > li {
display: list-item;
}
ul.cat-container li:hover > ol > li {
display: list-item;
}
我相信你不需要长期选择器等等。上面的代码段应该很好地涵盖了你的用例。
除IE6及以下版本外,子选择器(&gt;)可以在任何地方工作。我希望你这些天不支持这些浏览器。