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番目の外側のリスト項目には2の番号を付ける必要がありますが、実際には4の番号が付けられています。

どうすればこれを回避できますか?

4

1 に答える 1

1

これは一部のブラウザのバグです。Chrome では番号付けが間違っていますが、IE と Firefox では番号付けが正しく行われています。

これを CSS で修正するのは少し面倒なので、ul代わりにを使用することをお勧めしますmenu。HTML 4.01 仕様によると、このmenu要素は に似ているがメニュー リストとしてレンダリングされることを意図した非推奨の要素ですulが、実際にはブラウザは のように表示しますul。しかし、ここで見られるように、Chrome の実装にはバグがあります。これは、仕様で強く推奨されている のul代わりに使用するもう 1 つの理由です。menu

(HTML5 はmenu複雑な方法で再定義することを提案しているため、単純な項目別リストにはさらに適していません。)

于 2013-02-10T15:14:41.277 に答える