2011-03-03 112 views
31
<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> 

是不是更语义正确的有两种<ul>分别围绕<nav>,还是应该NAV包裹两者兼而有之?HTML5导航标签正确用法

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

回答

43

引述规格:

资产净值元素代表链接到其他网页或 零件内页的页面的部分 :导航链接部分 。

不是一个页面上的所有链接群体需要 是在导航元素 - 只包括主要的导航 块是适合于导航 元件部分 。特别是,通常 的页脚有一个 指向一个网站的不同页面的短链接列表,如服务条款 页面和版权页面。单独的页脚 仅适用于此类 个案,而没有导航元素。

因此,随意将它们都包装在一个导航标签中。不裹页脚,但这里使用的页脚标签:)

读这里的规格:http://dev.w3.org/html5/spec/Overview.html#the-nav-element

6

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

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

+3

@Ian:规范特别提到页脚不需要导航元素。 – 2011-03-03 09:29:46

+0

所以他们呢,我有多失望。奇怪的是,因为它仍然是导航。 – 2011-03-03 10:57:17

+1

@Ian所以,要明确一点,可以在任何一页上显示**两个**导航元素,只要它们都明确符合规范? – 2011-03-03 12:44:28

10

导航原因的搜索已经持续数年了。现在只需谷歌,你会发现问题的日期可以回到它的介绍。到目前为止,我发现的一个实际用于导航的方法是将它与CSS中的样式相关联。在你说之前,有更好的方法可以做到这一点,认为程序员不是唯一的人做页面标记。对于设计网页以谋生的商业艺术家来说,最好有一个简单的标签,而不是思考类和子类。如果你在不同的团体之间进行了一段时间的讨论,你会有一种感觉,我很可能是对的。许多页面开发人员都是关于风格的 - 他们是艺术家,而不是程序员。

更多确认:如果您查看HTML5中的新结构标签,您可以轻松地得到委员会想要明确定义页面的主要元素的想法。每个主要元素的外观和行为都不相同。如果你想设计一个典型的网页,那么如果有人已经给页面部分标签赋予了名字,那么这可能会非常方便,这样你就可以直接进行样式化。在您提供导航部分的页面部分中输入导航标记。那是什么,你问?这不是其他已经预先定义的部分,如页脚或侧边栏。 Here's a tutorial showing where the author believes the navigation section is - 正是你期望的地方。

这很好。如果我想建立一个像其他页面一样的页面,并且我唯一的担心就是让我的颜色选择和艺术元素与其他人不同,那么整个过程就非常例行。作为程序员,我并不总是想要这样。我希望具有灵活性,以逻辑和易用的方式实现预想的功能需求。如果这更容易,而不是更难,那会很好。所以,为了表明这个故事有两个方面 - 我感叹HTML5中框架集和框架的丢失。 iFrames是不好的替代品。

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

也许我已经说过要求回答这个问题了,但我认为这将有助于拓宽一点纳入整体背景。

+4

已投票;有用的答案。 WTF是否有-4? – mxcl 2012-11-03 17:28:33

+7

我想人们可能会因为不同意所表达的观点而降低投票率。 '