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

4

我想知道为什么许多网站在


可能是我应该在我的<nav>中使用<ul>和<li>吗?的重复问题。 - ECrownofFire
5个回答

5
通常来说,这并非必需的,但将导航项目放在列表中,并使用CSS将它们显示为行内元素是非常常见的做法(如果需要的话)。这不仅适用于HTML5 - 如果您在浏览器中禁用CSS,您的菜单将显示为:

start about me contact(你能读到这个吗?)

而使用列表,则会显示为:

  • start
  • about me
  • contact

考虑一下,在设计显示方面出现问题时,您希望看到哪个版本。


2
这里需要注意的是,像nav、section、header、footer等新标签的设计目的。这些标签本身并不与div有什么区别。人们开始在他们的HTML5网站上使用它们的原因是为了提供文档上下文。当我听到“Web 2.0”这样的术语时,我会翻白眼,但这些术语确实传达了我们如何思考如何使用网络的变化。每当你听到“Web 3.0”时...唉,它真正意味着的是人们正在尝试思考如何使网络更加语义化,这意味着用户体验将根据用户行为和偏好进行更多的定制。使用这些类型的标签标记您的文档有助于提供这种上下文。然而,它将如何呈现仍由您决定,我认为您提供的两个示例都是完全有效的。
这里有一篇不错的文章,更详细地讨论了这个问题: http://html5doctor.com/lets-talk-about-semantics/

1

我一直认为,任何仅存在于容纳其他单一标签的标记都是多余的。

然而,语义化和合理的标记是一门不精确的科学,因此人们有不同的看法。


1
根据“nav”元素规范,它代表页面的一个部分,链接到其他页面或页面内的部分。规范并不强制要求“nav”元素内的任何特定结构。“ul”块则将导航链接组合在一起,以实现逻辑和/或实际目的。对于使用辅助技术浏览Web的用户来说,使用列表来组织导航块有益处,因为屏幕阅读器可以跳过整个导航块,从一个导航级别跳到另一个导航级别。
参考资料:

0
我会这样说: 是的,如果是多级导航(因此将按层次结构排序)。 否则不是:您可以节省数据,提高速度和可读性。
在我看来,无序列表应该用于显示实际的无序列表,表格也应该显示表格数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接