5

我不确定我是否了解其中的逻辑。基本上我想在一个网络博客上做一个简单的列表,如下所示:

1.  item1
    a.  item2
2.  item3
    a.  item4
    b.  item5
3.  item6

依此类推,基本上是一个按数字排序的主列表,在每个排序的主项目下都有子列表lower-alpha

我通过使用这个 HTML 标记实现了这个效果:

<ol>
    <li>item1</li>
    <ol>
        <li>item2</li>
    </ol>   
    <li>item3</li>
    <ol>
        <li>item4</li>
        <li>item5</li>
    </ol>
    <li>item6</li>
</ol>

使用这个小的 CSS 规则:

ol ol { list-style-type: lower-alpha; } /* sub ordered lists */

根据 w3c 验证器,我遇到的这个问题是:

在这种情况下,不允许元素 ol 作为元素 ol 的子元素。

我认为这个问题应该有一个非常简单的解决方案,我找不到一个,而且我不确定我是否遵循为什么ol不能成为ol.

4

3 回答 3

10

你这样做:

<ol>
    <li>item1
        <ol>
            <li>item2</li>
        </ol>
    </li> 
</ol>

您需要将子列表放在顶级列表项中。

于 2012-10-04T15:51:58.277 回答
4

有几种方法可以使用 CSS 或 HTML 来控制您的子排序列表。你几乎达到了你想要的效果,得到这样的东西:

1.  item1
    a.  item2
2.  item3
    a.  item4
    b.  item5
3.  item6

您的 HTML 应如下所示:

<ol>
    <li>item1
        <ol>
            <li>item2</li>
        </ol>
    </li>
    <li>item3
        <ol>
            <li>item4</li>
            <li>item5</li>
        </ol>
    </li>
    <li>item6</li>
</ol>

你的 CSS 应该是这样的:

ol li{ list-style-type:decimal; } /* sub ordered lists level 1 */
ol li ol li { list-style-type: lower-alpha; } /* sub ordered lists level 2 */

您还可以在此处阅读有关类似问题的更多信息

于 2012-10-04T16:12:01.337 回答
0

我认为你的 ol 需要在一个 li 中:

<ol>
    <li>item1</li>
    <li>
        <ol>
            <li>item2</li>
        </ol> 
    </li>
</ol>
于 2012-10-04T15:52:12.053 回答