<nav>或<menu>(HTML5)</menu> </nav>

时间:2011-02-11 13:55:31

标签: html html5 menu standards nav

W3Schools.com,我很确定我记得W3C.org声明<menu>应该用于工具栏菜单和列出表格控制命令。

那么,我应该将哪一个用于主菜单? NavMenu?这有关系吗?

5 个答案:

答案 0 :(得分:160)

nav用于内部链接组(a元素)。通常,这意味着链接应该转移到单独的页面,或者在AJAX页面的情况下更改内容。点击nav项目时会出现某种内容更改。

menu用于控件组(ainputbutton)。通常,这意味着输入应在页面内执行功能。点击menu项目时,可以期待某种javascript互动。

nav:网站的导航

menu:网络应用的菜单

答案 1 :(得分:10)

这是一个HTML5Doctor post on nav,其中有一节介绍它与menu的区别(基本上,在实际应用中使用它)。看起来你想要nav

答案 2 :(得分:1)

<menu>通常用于上下文菜单。

MDN上有很好的文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu

答案 3 :(得分:1)

获得此答案的最佳位置是他们自己的HTML 5标准。

菜单HTML 5.1 2nd Edition中定义。

  

它,“ ...代表一组命令。”


Nav HTML 5中定义。

  

它是“ ...页面的一部分,链接到其他页面或其中的部分   页面:包含导航链接的部分。”

有一些关于导航的注释我没有包括,但认为很重要,但是我认为最好从标准中自己定义。

这篇文章中标记为答案的定义接近正确,但其中包含无关紧要的陈述,使答案本身是错误的。

答案 4 :(得分:0)

<nav>是一个部分(如<section><article>),因此它将显示在HTML文档大纲中。因此,我会在99%的时间内使用<menu>。对我来说,<nav><section><menu>之间的混合,增加的限制<nav>应该专门用于导航,而<menu>可以用于任何可能被称为菜单的东西(包括导航栏)。因此,尽管大多数导航栏都是导航栏,但它们并不符合<nav>的严格要求,而<menu>更合适。

我从来没有在我的网络开发职业生涯中发现我希望我的导航栏成为文档大纲的一部分。