2012-03-07 48 views
8

我正在制作导航菜单,我应该使用<nav>元素还是<ul>元素?我应该使用导航或ul

如果我使用nav我将需要使用shiv,以便它可以跨浏览器使用。

如果是这样,使用nav优于ul的优点是什么?

编辑:

我知道你可以把ulnav我的问题是为什么要使用nav呢?

回答

10

不要混淆<nav><ul>。它们都可以一起用于导航菜单。

Nav是一个HTML5标记。如果您使用HTML5创建某些内容,则可以使用<nav>,因为没有限制,但并非所有浏览器都能正确呈现此内容。

<nav> 
    <ul> 
     <li><a href="default.asp">Home</a></li> 
     <li><a href="news.asp">News</a></li> 
     <li><a href="contact.asp">Contact</a></li> 
     <li><a href="about.asp">About</a></li> 
    </ul> 
</nav> 
  1. Read about Html 5

Ul创建一个无序列表。无序意味着列表中的项目不会以任何特定的顺序。您可以在nav中嵌入ul元素以放置链接。

阅读更多关于HTML标签以及它们如何工作here

<ul> 
    <li><a href="default.asp">Home</a></li> 
    <li><a href="news.asp">News</a></li> 
    <li><a href="contact.asp">Contact</a></li> 
    <li><a href="about.asp">About</a></li> 
</ul> 

这将创建一个导航栏,你必须把一些CSS样式看起来更好。

上面的两个代码都会产生相同的结果。唯一的区别是nav告诉浏览器该元素用于导航目的。

+1

如果我不使用导航,它会减少SEO友好吗?如果没有,那么我认为我没有看到nav – qwertymk 2012-03-07 13:25:24

+0

@qwertymk的任何优势,因为我说过,没有SEO优势(目前),也没有在可预见的未来。 – Christoph 2012-03-08 08:34:43

3

nav元素在语义上更具体,所以一般来说更好的选择。例如,搜索引擎会理解其中的链接代表导航,而不是简单的链接列表(可能是推荐的帖子或相关项目等)。

1

nav是一个语义html5元素,引入这个元素来指出这个代码就是页面的导航。对于“正常的非语义”搜索引擎,您使用ulnav并没有什么不同。他们会理解都没有问题。目前使用这些语义元素并没有为你创造真正的优势。

要小心,使用这些HTML5元素打破IE浏览器,所以你需要“注册”它们,所以IE认识到它们是可调整的HTML元素。

3

取决于案件,但大多数时候,你会同时使用。

<nav> 
    <ul> 
     <li><a href="#">item1</a></li> 
     <li><a href="#">item2</a></li> 
     <li><a href="#">item3</a></li> 
     <li><a href="#">item4</a></li> 
     <li><a href="#">item5</a></li> 
    </ul> 
</nav> 

<!-- Or just links --> 

<nav> 
    <a href="#">Item</a> 
    <a href="#">Item</a> 
    <a href="#">Item</a> 
</nav> 

两者在语义上都是正确的。

0

如果您想使用nav,但避免使用不支持它的浏览器的任何问题,最简单的方法是不对其应用任何样式,并将其包装在div和样式中。

<nav> 
    <div class="nav"> 
     <ul> 
      <li><a href="?">List Item Link</a></li> 
      <li><a href="?">List Item Link</a></li> 
      <li><a href="?">List Item Link</a></li> 
     </ul> 
    </div> 
</nav> 
+0

这将在不支持它的浏览器中工作?总是? – qwertymk 2012-03-07 16:10:25

0

只是我的意见,我会用一个简单的ul针对IE 6和7仍然有相当大的市场份额的原因,我知道我不会跳火圈得到ul工作。无论如何,这很简单。

0

两台导航和UI元素可以用来创建HTML5的菜单,

  • 的nav元素传达我们正在处理的主要导航块
  • 名单传达这个导航中的链接块形成项目

但是你可以使用菜单创建两种导航和UL的名单,

<nav> 
<ul> 
    <li>item 1</li> 
    <li>item 2</li> 
</ul> 
</nav> 

这是由您决定是否选择导航或ul