在定义的级别之后隐藏第n个嵌套的UL

时间:2014-07-16 15:49:22

标签: html css html-lists

<ul class="navTreeLevel0">
    <li></li>
    <li>
        <li></li>
        <ul class="navTreeLeve1">
          <li>
            <ul class="navTreeLevel2"></ul>
          </li>
        </ul>
    </li>
</ul>

任何li都可能包含第liul,其中包含另一个ul级别。每个navTreeLevel(++)级别都有一个递增类.navTreeLevel3, navTreeLevel4 { display: none; } 。我现在用以下css隐藏了过去2级的关卡。

.navTreeLevel

我没有控制这个侧栏生成的html。我希望能够在2之后隐藏所有级别。(3,4,5,6,..)有没有办法通过在2之后拥有所有{{1}}来选择类?

3 个答案:

答案 0 :(得分:0)

可能更容易隐藏所有内容,然后显示您想要的内容。

ul[class^=navTreeLevel] {
    display:none;
}
.navTreeLevel0,.navTreeLevel1,.navTreeLevel2 {
    display:block;
}

答案 1 :(得分:0)

只需选择要显示的最后一个级别,然后在其后添加ul

.navTreeLeve2 ul {
    display:none;
}

这会隐藏以下所有无序列表.navTreeLeve2。

答案 2 :(得分:0)

这些答案帮助我重新思考了解决这个问题的方法。我提出了隐藏第三级的解决方案,因为该级别内的所有内容也将被隐藏。

ul.navTreeLevel3{
    display: none;
}

这样就可以看到3级或更低级别的任何内容。

感谢您的回答。