我可以使用<nav>标签进行分页吗?</nav>

时间:2014-12-10 22:16:17

标签: html5 pagination semantic-markup

在主菜单导航中看到标记<nav>的使用情况很常见,但我不知道其他可以使用它的示例。例如,对于分页:

<div class='my-pagination'>
   <!-- first, 2, 3, 4 ... 8, 9, last -->
</div>

可以:

<nav class='my-pagination'>
  <!-- first, 2, 3, 4 ... 8, 9, last -->
</nav>

是语义吗?

2 个答案:

答案 0 :(得分:4)

HTML5规范定义nav element,如下所示:

  

nav元素表示链接到其他页面或页面中的部分的页面的一部分:带有导航链接的部分。

分页显然包含&#34;到其他页面的链接&#34;,这些是&#34;导航链接&#34;。在大多数情况下,为此使用切片内容元素是有意义的。


确保将nav放在正确的父部分中:

  • 如果是多篇文章,nav应该是article的孩子。

    <article>
      <h1>Review of my new camera</h1>
      <p>…</p>
      <nav><!-- pagination for this article --></nav>
    </article>
    
  • 如果它是文章摘要的多页列表,nav应该是包含此列表的部分的子项。

    <section>
      <h1>All blog posts</h1>
      <article><h1>Review of my new camera</h1></article>
      <article><h1>I want to buy a camera, any suggestions?</h1></article>
      <nav><!-- pagination for this blog posts list --></nav>
    </section>
    
  • 如果每页都有一篇完整的文章,则nav应该是body切片根目录的子项。

    <body>
      <article><h1>Review of my new camera</h1></article>
      <nav><!-- pagination for next/previous article --></nav>
    </body>
    

答案 1 :(得分:2)

有趣的问题。

根据官方W3 Draft,似乎nav确实适合用作分页容器,特别是如果它用于主要导航(即整个页面是可以通过分页的结果集

  

并非页面上的所有链接组都必须位于nav元素中 - 该元素主要用于由主要导航块组成的部分。特别是,页脚通常具有指向站点的各个页面的短链接列表,例如服务条款,主页和版权页面。单独的页脚元素足以满足这种情况;虽然在这种情况下可以使用nav元素,但通常是不必要的。