我应该使用nav还是ul

时间:2012-03-07 11:10:51

标签: html css cross-browser

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

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

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

编辑:

我知道你可以将ul加入nav我的问题是为什么要使用nav

8 个答案:

答案 0 :(得分:12)

不要与<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
  2. Ul创建一个无序列表。无序意味着列表中的项目不会按任何特定顺序排列。您可以在ul内嵌套nav元素来放置链接。

    详细了解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 :(得分:4)

取决于案例,但大部分时间你都会使用这两种情况。

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

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

答案 2 :(得分:3)

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

答案 3 :(得分:3)

你通常应该在<nav>内使用一个列表,如下所示:

<nav>
  <ul>
    <li>...</li>
  </ul>
</nav>

答案 4 :(得分:2)

nav是一个语义html5元素,引用它指出,此代码是页面的导航。对于“普通的非语义”搜索引擎,您使用ulnav时没有任何区别。他们会毫无问题地理解两者。目前使用这些语义元素对你没有任何好处。

小心,使用那些html5元素打破IE,所以你需要“注册”它们,所以IE将它们识别为可设置样式的html元素。

答案 5 :(得分: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>

答案 6 :(得分:0)

就我而言,我会使用ul只是因为IE 6和7仍然拥有相当大的市场份额,而且我知道我不必跳过篮球来获得{{1} }} 上班。现在无论如何,它更简单。

答案 7 :(得分:0)

nav和ul元素都可用于在html5中创建菜单,

  • nav元素表示我们正在处理主要导航块
  • 该列表表明此导航块内的链接形成了项目列表

但是,您可以在菜单创建中使用nav和ul,

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

是否选择nav或ul

取决于你