带有菜单标签的有序列表 - 重置编号

时间:2013-02-10 14:16:50

标签: html html5

我有一个简单的有序列表,每个列表中都有一个菜单标签和一些列表项,例如:

<ol>
    <li>
        <h2>List item 1</h2>
        <menu>
            <li><a href="#">Action 1</a></li>
            <li><a href="#">Action 2</a></li>
        </menu>
    </li>
    <li>
        <h2>List item 2</h2>
        <menu>
            <li><a href="#">Action 1</a></li>
            <li><a href="#">Action 2</a></li>
        </menu>
    </li>
</ol>

不幸的是,使用此标记时,外部列表项的编号会受到菜单中列表项的影响。

所以第二个外部列表项应该编号为2,但实际上它编号为4。

如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

这是某些浏览器中的错误。 Chrome的编号错误,IE和Firefox搞定了。

使用CSS修复此问题会有点棘手,因此最好使用ul而不是menu。根据HTML 4.01规范,menu element是一个不推荐使用的元素,类似于ul,但打算将其呈现为菜单列表,但实际上浏览器会将其显示为ul。但正如此处所观察到的,Chrome实施中存在一个错误 - 使用ul代替menu的另一个原因,正如规范中强烈建议的那样。

(HTML5建议以复杂的方式重新定义menu,使其更不适合简单的逐项列表。)