关于<nav>
HTML5标记。
这有什么区别:
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Photos</a></li>
<ul>
</nav>
和这:(这可以吗?)
<nav>
<li><a href="#">Home</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Photos</a></li>
</nav>
答案 0 :(得分:4)
您无法将li
元素置于ul
/ ol
之外。
但您根本不必使用列表。您可以将这些a
标记直接放在nav
:
<nav>
<a href="#">Home</a>
<a href="#">News</a>
<a href="#">Photos</a>
</nav>
如需更多历史和更全面的探索,请阅读:
答案 1 :(得分:0)
<li>
在ul
或ol
based on the contexts in which it can be used之外无效。这个定义非常严格。
至于<nav>
,其内容模型为flow content。 <li>
不是流内容元素。同样,<nav>
不 包含列表(<ul>
或<ol>
)。
我的想法是屏幕阅读器更好地支持导航列表,并且更好地用于搜索引擎优化,因为搜索引擎不会因为重复页面上的列表而惩罚您。如果您避开该列表,他们可能会。我绝对没有证据支持这一点 - 这只是轶事。
就个人而言,我会选择最简单的有效HTML。这只是<nav>
和<a>
个孩子。