我们应该将<ul>标记放在<nav>标记内吗?</nav> </ul>

时间:2012-07-27 18:28:34

标签: html5 nav

我想知道很多网站都将标签放在标签内,从导航标签的锚标签标签,以及w3schools中的示例,为什么很多网站都是这样的:

<nav>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
    </ul>
</nav>

这是正确的还是我们应该这样做

<nav>
    <a href="#">Home</a>
    <a href="#">About</a>
</nav>

5 个答案:

答案 0 :(得分:4)

一般来说,这不是必需的,但是将导航项目放在列表中并使用CSS内联显示它们(如果需要)是非常常见的做法。这不仅是对HTML5的建议 - 如果您在浏览器中禁用示例CSS,您的菜单将显示为:

开始关于我联系(你能读到这个吗?)

列表将是:

  • 启动
  • 关于我
  • 接触

如果显示设计出现问题,请考虑自己希望看到哪个版本。

答案 1 :(得分:2)

这里需要注意的重要事项是nav,section,header,footer等新标签的设计目的。就其本身而言,这些标签与div的行为没有区别。人们开始在他们的html5网站上使用它们的原因是为文档提供上下文。当我听到像“Web 2.0”这样的术语时,我翻白眼,这些术语确实改变了我们如何使用网络的思考。每当你听到“Web 3.0”......呃,它真正意味着人们正试图思考如何使网络更具语义,这意味着用户体验可以根据用户行为和偏好进行更多定制。使用这些类型的标记标记文档有助于提供该上下文。然而,它的实现方式仍然取决于你,我相信你提供的两个例子都是完全有效的。

这里有一篇不错的文章,可以更详细地讨论这个问题:

http://html5doctor.com/lets-talk-about-semantics/

答案 2 :(得分:1)

我一直认为,任何纯粹存在于另一个单一标签中的标签都是无关紧要的。

然而,语义和理智的标记是一门不精确的科学,所以人们有不同的观点。

答案 3 :(得分:1)

根据“nav”元素规范,它表示链接到其他页面或页面中部件的页面的部分。规范没有强制要求任何特定的结构,而不是“nav”元素。另一方面,“ul”块将导航链接组合在一起以用于逻辑和/或实际目的。使用导航块列表有益于使用辅助技术导航Web的用户,因为屏幕阅读器可能会跳过整个导航块,从一个导航级跳到另一个导航级。

参考文献:

答案 4 :(得分:0)

我会说: 是的,如果是多级导航(因此将按层次排序)。 不,在所有其他情况下:您保存数据,获得速度,可读性

恕我直言UL应该用于显示实际的无序列表,关于表格也应该如此,它应该显示表格数据。