是否最好使用<li> {li> <a>, or just </a> <nav> <a> </a> <a>?</a> </nav> </li> </nav>

时间:2013-04-18 12:31:09

标签: css html5 css3 web

<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>

4 个答案:

答案 0 :(得分:4)

Accoridng W3 spec on <nav>,任何类型flow content都可以接受。而且,并非它非常重要,但W3和&amp; MDN使用<ul>展示其使用情况(并且,为了它的价值,W3甚至包括一个高于<ul>的标题来标题该部分。)

就我个人而言,我认为<ul>比单独<a>更好地描述了多个链接,但这实际上取决于您希望如何做到这一点。 <ul>在简单浮动锚点上也比多个链接更具语义性。

答案 1 :(得分:3)

就个人而言,我使用一个清单。我更喜欢这个,因为它可以更强大,如果你需要它。例如,如果您的样式需要镶嵌边框,则可以轻松地在<a>上创建一个亮边框,在<li>上创建一个较暗的边框来创建该效果。

然而,与此同时,list方法的样式可以简单,就像你只使用<a>

一样。

此外......两者之间没有明显的速度差异。

答案 2 :(得分:1)

这完全取决于你。 <nav>元素只需要包含主导航,它不必在列表中。但是通常使用列表,因为导航菜单往往是项目列表。

因此,如果您的导航包含项目列表,那么它可能应该是一个列表。

答案 3 :(得分:0)

从我的角度来看,第一个解决方案是最好的解决方案,因为你的菜单是一个导航,它使用的代码较少,并且(据我所知)并且对于seo来说是第二个解决方案。

<nav>
    <a href="#">Home</a>
    <a href="#">Kontakt</a>
    <a href="#">Jovan</a>
</nav>

如果你在nav中使用其他元素,例如ulolh1table(!)或其他什么,那么它应该是语义上的正确。因此,如果您的菜单是一个列表,那么使用ul就可以了。如果您只想在里面添加元素以便更容易设置样式,请使用div和/或span

<强>更新

在评论中进行一些讨论后:在大多数情况下,菜单是一个列表,然后ul方法是一个很好的选择。如果您使用ul,则根据Steve

,屏幕阅读器可以更轻松地进行导航