当<nav>使用<li>时,我需要<ul>吗?</li> </nav> </ul>

时间:2013-11-08 19:58:39

标签: html5 tags html-lists nav

关于<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>

2 个答案:

答案 0 :(得分:4)

您无法将li元素置于ul / ol之外。

但您根本不必使用列表。您可以将这些a标记直接放在nav

<nav>
    <a href="#">Home</a>
    <a href="#">News</a>
    <a href="#">Photos</a>
</nav>

如需更多历史和更全面的探索,请阅读:

Navigation in Lists: To Be or Not To Be

答案 1 :(得分:0)

<li>ulol based on the contexts in which it can be used之外无效。这个定义非常严格。

至于<nav>,其内容模型为flow content<li>不是流内容元素。同样,<nav> 包含列表(<ul><ol>)。

我的想法是屏幕阅读器更好地支持导航列表,并且更好地用于搜索引擎优化,因为搜索引擎不会因为重复页面上的列表而惩罚您。如果您避开该列表,他们可能会。我绝对没有证据支持这一点 - 这只是轶事。

就个人而言,我会选择最简单的有效HTML。这只是<nav><a>个孩子。