这是我已经思考过了一段时间,如我看到无论是在实践中使用。

方法1

<ol>
    <li>List item 1</li>
    <li>List item 2
        <ol>
            <li>List item 3</li>
        </ol>
    </li>
    <li>List item 4</li>
</ol>

这似乎是语义正确的给我,因为子列表是列表项的子列表,但它是不是很干净(列表项Content<list right next to it>)。

方法2

<ol>
    <li>List item 1</li>
    <li>List item 2</li>
        <ol>
            <li>List item 3</li>
        </ol>
    <li>List item 4</li>
</ol>

清洁剂,但它不直接理解的列表是第2项的子列表(虽然它的由人推论可以理解)。

这是纯粹的方式对语义标记关注的问题,这两种方法呈现在页面上的相同的内容。

那么那么,你觉得呢?来源在可能的情况是首选的,但个人使用也不错。我注意到,MediaWiki的heirachial的TOC使用方法1,鼓励我相信这是正确的使用方法。

有帮助吗?

解决方案

方法2是无效的HTML。 OL不允许作为另一OL元素的直接孩子。仅LI被允许在一个OL

另外,子列表项2的成员是唯一明显的人类读者因为压痕。使压痕甚至与LIs,它看起来好像内部列表本身就是第三个项目。我可能希望这样的渲染,有两个数字:

1. List item 1
2. List item 2
3. 1. List item 3
4. List item 4

方法1是去的方式。

其他提示

方法1是正确的。

HTML 4.01 只允许在LI项一个OL。李的结束标记,然而,是可选的。这意味着这等同于你的方法1:

<ol>
   <li>List item 1
   <li>List item 2
      <ol>
        <li>List item 3
      </ol>
   <li>List item 4
</ol>

这是有点暧昧读者在收盘LI的是 - 尽管该规范是明确的,这将是的之后的收盘OL

XHTML 1.1 具有相同的限制,但将强制使用封闭LI,使其明确。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top