将HTML列表深度重置为根级别(对于项目符号)

将HTML列表深度重置为根级别(对于项目符号),html,css,html-lists,nested-lists,Html,Css,Html Lists,Nested Lists,例如,我想将(下面的代码)中列表的级别4设置为根级别。这意味着第4级的项目符号看起来像第1级,第5级看起来像第2级,第6级看起来像第3级。这需要在不手动覆盖每个项目的项目符号的情况下实现,因为不同的浏览器具有不同的项目符号样式 <ul> <li>level 1 item</li> <li>level 1 item <ul> <li>level 2 item</li

例如,我想将(下面的代码)中列表的级别4设置为根级别。这意味着第4级的项目符号看起来像第1级,第5级看起来像第2级,第6级看起来像第3级。这需要在不手动覆盖每个项目的项目符号的情况下实现,因为不同的浏览器具有不同的项目符号样式

<ul>
    <li>level 1 item</li>
    <li>level 1 item
        <ul>
            <li>level 2 item</li>
            <li>level 2 item
                <ul>
                    <li>level 3 item</li>
                    <li>level 3 item
                        <ul>
                            <li>level 4 item</li>
                            <li>level 4 item
                                <ul>
                                    <li>level 5 item</li>
                                    <li>level 5 item
                                        <ul>
                                            <li>level 6 item</li>
                                            <li>level 6 item</li>
                                            <li>level 6 item</li>
                                        </ul>
                                    </li>
                                    <li>level 5 item</li>
                                </ul>
                            </li>
                            <li>level 4 item</li>
                        </ul>
                    </li>
                    <li>level 3 item</li>
                </ul>
            </li>
            <li>level 2 item</li>
        </ul>
    </li>
    <li>level 1 item</li>
</ul>
  • 一级项目
  • 一级项目
    • 二级项目
    • 二级项目
      • 三级项目
      • 三级项目
        • 四级项目
        • 四级项目
          • 第5级项目
          • 第5级项目
            • 第6级项目
            • 第6级项目
            • 第6级项目
          • 第5级项目
        • 四级项目
      • 三级项目
    • 二级项目
  • 一级项目

似乎所有浏览器都是圆形的,所以我通过一点
CSS
和一个类(自动应用于
    元素中的
    元素,但不适用于其他元素)和
    CSS
    实现了这一点:

    ol > li > ul > li > ul > li > ul {
        list-style-type: square;
    }
    ul.initial > li > ul > li > ul {
        list-style-type: square;
    }
    ol > li > ul > li > ul {
        list-style-type: circle;
    }
    ul.initial > li > ul {
        list-style-type: circle;
    }
    ol > li > ul {
        list-style: initial;
    }
    ul.initial {
        list-style: initial;
    }
    

    没有办法(AFAIK)“重新启动”多级样式。您可以将第四个级别设置为
    列表样式:initial
    ,但这也会影响所有嵌套的
    ul
    ——当然,如果您能找到一种不影响更深层次的方法,您可能会有一些东西……但我不这么认为。您最好使用CSS计数器。@Paulie_D
    列表样式:initial
    在Chrome中与项目符号样式没有任何关系。在我的版本中没有。它从方形项目符号切换到圆形项目符号。我们需要一个
    :n嵌套子项
    选择器。那太棒了!:)但我认为保罗是对的。没有CSS方法可以做到这一点。如果你愿意,我给你一个jQuery解决方案。@Paulie_D,我知道了,以前在一台分辨率较低的机器上,认为它们是一样的。