我有一个简单的有序列表,每个列表中都有一个菜单标签和一些列表项,例如:
<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。
如何避免这种情况?
答案 0 :(得分:1)
这是某些浏览器中的错误。 Chrome的编号错误,IE和Firefox搞定了。
使用CSS修复此问题会有点棘手,因此最好使用ul
而不是menu
。根据HTML 4.01规范,menu
element是一个不推荐使用的元素,类似于ul
,但打算将其呈现为菜单列表,但实际上浏览器会将其显示为ul
。但正如此处所观察到的,Chrome实施中存在一个错误 - 使用ul
代替menu
的另一个原因,正如规范中强烈建议的那样。
(HTML5建议以复杂的方式重新定义menu
,使其更不适合简单的逐项列表。)