【问题标题】:Do I need <ul> with when I have <nav> with <li>?当我有 <nav> 和 <li> 时,我需要 <ul> 吗?
【发布时间】:2013-11-08 19:58:38
【问题描述】:

关于&lt;nav&gt; 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>

【问题讨论】:

    标签: html tags html-lists nav


    【解决方案1】:

    您不能将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.

    【讨论】:

      【解决方案2】:

      &lt;li&gt;ulol based on the contexts in which it can be used 之外无效。这个定义很严格。

      &lt;nav&gt;,其内容模型为flow content&lt;li&gt; 不是流内容元素。同样,&lt;nav&gt;没有包含列表(&lt;ul&gt;&lt;ol&gt;)。

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

      就个人而言,我会选择最简单的有效 HTML。那只是&lt;nav&gt;&lt;a&gt; 孩子。

      【讨论】:

        猜你喜欢
        • 2011-07-29
        • 2016-01-03
        • 2020-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-28
        相关资源
        最近更新 更多