32
<ul class="mainMenu">
    <li><a href="#">Home</a></li>
    <li><a href="#">Forum</a></li>
    <li><a href="#" class="mainSelected">Construct</a></li>
    <li><a href="#">Arcade</a></li>
    <li><a href="#">Manual</a></li>
</ul>
<ul class="subMenu">
    <li><a href="#">Homepage</a></li>   
    <li><a href="#">Construct</a></li>
    <li><a href="#" class="underSelected">Products</a></li>
    <li><a href="#">Community Forum</a></li>
    <li><a href="#">Contact Us</a></li>
</ul>

<nav>单独围绕这两个在语义上更正确<ul>,还是应该一个导航包两个?

使用 nav 标签来环绕我的页脚菜单项是否合适?

4

3 回答 3

43

引用规格:

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

并非页面上的所有链接组都需要在 nav 元素中——只有包含主要导航块的部分才适合 nav 元素。特别是,页脚通常会包含指向站点各个页面的链接的简短列表,例如服务条款、主页和版权页面。对于这种情况,仅页脚元素就足够了,没有导航元素。

因此,请随意将两者包装在一个导航标签中。不要包装页脚,但在此处使用页脚标签:)

在此处阅读规格:http: //dev.w3.org/html5/spec/Overview.html#the-nav-element

于 2011-03-03T09:24:30.603 回答
10

寻找 nav 的原因已经进行了多年。现在只需在谷歌周围搜索,您就会找到有关问题的日期,这些日期可以追溯到它的介绍。到目前为止,我发现 nav 的一个实际用途是将它与 css 中的样式相关联。在您说之前,有更好的方法可以做到这一点,请考虑程序员不是唯一做页面标记的人。对于一个以设计网页为生的商业艺术家来说,最好有一个简单的标签,而不是考虑类和子类。如果你关注了不同群体的讨论一段时间,你会觉得我很可能是对的。许多页面开发人员都是关于风格的——他们是艺术家,而不是程序员。

再确认一下:如果您查看 HTML5 中的新结构标签,您可以很容易地理解委员会想要明确定义页面的主要元素的想法。每个主要元素的外观和行为都可能不同。如果您想设计一个典型的网页,那么如果有人已经为页面部分标签命名,那么您可以直接着手设计它们的样式,这将非常方便。在您提供导航部分的页面部分中添加一个 nav 标记。你问那是什么?它不是其他已经预定义的部分之一,例如页脚或侧边栏。这是一个教程,显示了作者认为导航部分的位置- 就在您期望的位置。

没关系。如果我想构建一个和其他一百万个页面一样的页面,而我唯一关心的是让我的颜色选择和艺术元素与其他页面不同,那么整个事情都是非常常规的。作为一名程序员,我并不总是想要那样。我希望灵活地以合乎逻辑且易于使用的方式完成所设想的功能需求。如果这更容易而不是更难,那就太好了。所以,只是为了提供一点对比来表明这个故事有两个方面——我为 HTML5 中框架集和框架的丢失感到遗憾。iFrame 是较差的替代品。

对风格感兴趣而不关心可设计结构和功能的获胜者一直希望将开发推向 css,这不是一种编程语言。RE:丢帧,看来我会被推回到大多数网页由表格构成的时代;除了他们希望我在 css 中定义表格而不是在页面中使用标签。他们似乎正在尽一切可能阻止动态页面上的任何进展。只允许整页重新加载来重组事物。(如果您想使用相同的页面结构从一张图片淡入到另一张图片,则不正确。)

也许我说的比回答这个问题的要求要多,但我认为将范围扩大到整体背景会很有用。

于 2012-04-05T13:05:45.647 回答
6

我同意马丁的观点。将它们包裹在一个导航元素中。

至于页脚,可以使用另一个导航元素,只要元素在站点内导航。

于 2011-03-03T09:27:37.430 回答