2012-03-07 99 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