W3 文档有一个以 DEPRECATED EXAMPLE:
为前缀的
嵌套列表示例,但他们从未使用未弃用的示例更正它,也没有准确解释该示例的问题所在。
那么,以下哪种方法是编写 HTML 列表的正确方法?
选项 1:嵌套
<ul>
是父级 <ul>
的子级
<ul>
<li>List item one</li>
<li>List item two with subitems:</li>
<ul>
<li>Subitem 1</li>
<li>Subitem 2</li>
</ul>
<li>Final list item</li>
</ul>
选项 2:嵌套的
<ul>
是它所属的 <li>
的子级
<ul>
<li>List item one</li>
<li>List item two with subitems:
<ul>
<li>Subitem 1</li>
<li>Subitem 2</li>
</ul>
</li>
<li>Final list item</li>
</ul>
选项 2 是正确的:嵌套的 <ul>
是它所属的
<li>
的子级。
如果您验证,选项 1 在 html 5 中会出现错误——信用:user3272456
<ul>
作为
<li>
的子级
<ul>
作为其所属的
<li>
的子级。嵌套列表应位于嵌套列表的
<li>
元素内部。
<ul>
<li>Parent/Item
<ul>
<li>Child/Subitem
</li>
</ul>
</li>
</ul>
嵌套列表的关键是要记住嵌套列表应该与一个特定的列表项相关。为了在代码中反映这一点,嵌套列表包含在该列表项内。上面列表的代码看起来像这样:第一章
- 第二章
第一节
- 第二部分
- 第三节
- 第三章
<ol>
<li>Chapter One
<ol>
<li>Section One</li>
<li>Section Two </li>
<li>Section Three </li>
</ol>
</li>
<li>Chapter Two</li>
<li>Chapter Three </li>
</ol>
注意嵌套列表如何在
<li>
和包含列表项的文本之后开始(“第一章”);然后在包含列表项的
</li>
之前结束。嵌套列表通常构成网站导航菜单的基础,因为它们是定义网站层次结构的好方法。理论上,您可以嵌套任意数量的列表,尽管在实践中,嵌套列表太深可能会变得混乱。对于非常大的列表,您可能最好将内容拆分为多个带有标题的列表,甚至将其拆分为单独的页面。
<dl>
<dt>Coffee</dt>
<dd>Black hot drink</dd>
<dt>Milk</dt>
<dd>White cold drink</dd>
</dl>
VS
<ul>
<li>Choice A</li>
<li>Choice B
<ul>
<li>Sub 1</li>
<li>Sub 2</li>
</ul>
</li>
</ul>