<nav>
<a href="#">Home</a>
<a href="#">Kontakt</a>
<a href="#">Jovan</a>
</nav>
或者
<nav>
<ul>
<li> <a href="#">Home</a> </li>
</ul>
</nav>
哪个更好?仅使用
nav
和 <a>
,还是后者更好?在第一种情况下,不应将其放置在 CSS 的 <inline>
中。<nav>
<a href="#">Home</a>
<a href="#">Kontakt</a>
<a href="#">Jovan</a>
</nav>
或者
<nav>
<ul>
<li> <a href="#">Home</a> </li>
</ul>
</nav>
nav
和 <a>
,还是后者更好?在第一种情况下,不应将其放置在 CSS 的 <inline>
中。<nav>
的规范, 任何类型的流内容
都是可以接受的。虽然这不是很重要,但W3和MDN都使用<ul>
来演示它的用法(值得一提的是,W3甚至在<ul>
上方包含一个标题来命名该部分)。<ul>
比单独的<a>
更好地描述了多个链接,但这真的取决于您想如何处理。 <ul>
在语义上也更适合于多个链接,而不仅仅是浮动锚点。ul
来制作菜单是不好的做法... - Johan个人而言,我使用列表。我认为这样更好,因为如果需要的话,它可以更加强大。例如,如果您需要嵌入式边框来进行样式设置,很容易在<a>
上创建轻边框,在<li>
上创建深边框以创建该效果。
然而,与此同时,列表方法可以被样式化,使其与仅使用<a>
一样简单。
此外... 两者之间没有可感知的速度差异。
<nav>
元素只需要包含主要导航,它不必是列表。但通常使用列表,因为导航菜单往往是一系列项目的列表。从我的角度来看,第一个解决方案是最好的,因为您的菜单是一种导航,使用的代码更少,并且(据我所知)与第二个解决方案一样适合SEO。
<nav>
<a href="#">Home</a>
<a href="#">Kontakt</a>
<a href="#">Jovan</a>
</nav>
如果您在您的 nav
中使用其他元素,例如 ul
、ol
、h1
、table
(!) 或其他任何元素,它应该是语义上正确的。因此,如果您的菜单是一个列表,使用 ul
就可以了。如果您只想添加元素以使其更容易进行样式设置,则使用 div
和/或 span
。
更新
在评论中进行了一些讨论后:在大多数情况下,菜单是一个列表,那么使用 ul
方法是一个很好的选择。如果您使用 ul
,屏幕阅读器更容易导航,根据 Steve 的说法。
nav
中可能是个好主意。(仍在谈论上面提到的网站)。你认为“我的地图”在语义上适合放在ul
中吗? - Johan