0

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

<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。

如何避免这种情况?

4

1 回答 1

1

这是某些浏览器中的错误。Chrome 的编号错误,IE 和 Firefox 的编号正确。

用 CSS 解决这个问题会有点棘手,所以最好ul使用menu. 根据 HTML 4.01 规范,该menu元素是一个已弃用的元素,类似于ul但旨在呈现为菜单列表,但实际上浏览器将其显示为ul. ul但是正如这里所观察到的,Chrome 实现中存在一个错误——这是使用而不是 的另一个原因menu,正如规范中强烈推荐的那样。

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

于 2013-02-10T15:14:41.277 回答