2011-03-03 114 views
31
<ul class="mainMenu"> 
    <li><a href="#">Home</a></li> 
    <li><a href="#">Forum</a></li> 
    <li><a href="#" class="mainSelected">Construct</a></li> 
    <li><a href="#">Arcade</a></li> 
    <li><a href="#">Manual</a></li> 
</ul> 
<ul class="subMenu"> 
    <li><a href="#">Homepage</a></li> 
    <li><a href="#">Construct</a></li> 
    <li><a href="#" class="underSelected">Products</a></li> 
    <li><a href="#">Community Forum</a></li> 
    <li><a href="#">Contact Us</a></li> 
</ul> 

是不是更語義正確的有兩種<ul>分別圍繞<nav>,還是應該NAV包裹兩者兼而有之?HTML5導航標籤正確用法

也適合使用nav標籤環繞我的頁腳菜單項?

回答

43

引述規格:

資產淨值元素代表鏈接到其他網頁或 零件內頁的頁面的部分 :導航鏈接部分 。

不是一個頁面上的所有鏈接羣體需要 是在導航元素 - 只包括主要的導航 塊是適合於導航 元件部分 。特別是,通常 的頁腳有一個 指向一個網站的不同頁面的短鏈接列表,如服務條款 頁面和版權頁面。單獨的頁腳 僅適用於此類 個案,而沒有導航元素。

因此,隨意將它們都包裝在一個導航標籤中。不裹頁腳,但這裏使用的頁腳標籤:)

讀這裏的規格:http://dev.w3.org/html5/spec/Overview.html#the-nav-element

6

我與馬丁同意。將它們包裹在一個導航元素中。

至於頁腳,是使用另一個導航元素,只要元素在站點內導航。

+3

@Ian:規範特別提到頁腳不需要導航元素。 – 2011-03-03 09:29:46

+0

所以他們呢,我有多失望。奇怪的是,因爲它仍然是導航。 – 2011-03-03 10:57:17

+1

@Ian所以,要明確一點,可以在任何一頁上顯示**兩個**導航元素,只要它們都明確符合規範? – 2011-03-03 12:44:28

10

導航原因的搜索已經持續數年了。現在只需谷歌,你會發現問題的日期可以回到它的介紹。到目前爲止,我發現的一個實際用於導航的方法是將它與CSS中的樣式相關聯。在你說之前,有更好的方法可以做到這一點,認爲程序員不是唯一的人做頁面標記。對於設計網頁以謀生的商業藝術家來說,最好有一個簡單的標籤,而不是思考類和子類。如果你在不同的團體之間進行了一段時間的討論,你會有一種感覺,我很可能是對的。許多頁面開發人員都是關於風格的 - 他們是藝術家,而不是程序員。

更多確認:如果您查看HTML5中的新結構標籤,您可以輕鬆地得到委員會想要明確定義頁面的主要元素的想法。每個主要元素的外觀和行爲都不相同。如果你想設計一個典型的網頁,那麼如果有人已經給頁面部分標籤賦予了名字,那麼這可能會非常方便,這樣你就可以直接進行樣式化。在您提供導航部分的頁面部分中輸入導航標記。那是什麼,你問?這不是其他已經預先定義的部分,如頁腳或側邊欄。 Here's a tutorial showing where the author believes the navigation section is - 正是你期望的地方。

這很好。如果我想建立一個像其他頁面一樣的頁面,並且我唯一的擔心就是讓我的顏色選擇和藝術元素與其他人不同,那麼整個過程就非常例行。作爲程序員,我並不總是想要這樣。我希望具有靈活性,以邏輯和易用的方式實現預想的功能需求。如果這更容易,而不是更難,那會很好。所以,爲了表明這個故事有兩個方面 - 我感嘆HTML5中框架集和框架的丟失。 iFrames是不好的替代品。

對風格感興趣而對設計結構和功能沒有太多關注的獲獎者一直希望將開發推向不是一種編程語言的css。 RE:幀丟失,看起來像我會一直推回到大多數網頁由表格構建的時代;除了他們希望我用css定義表格而不是使用頁面中的標籤。他們似乎正在盡一切可能阻止動態頁面上的任何進展;只允許完整的頁面重新加載來重構事物。 (如果你想從一張圖片淡出到另一張圖片具有相同的頁面結構,則不是這樣。)

也許我已經說過要求回答這個問題了,但我認爲這將有助於拓寬一點納入整體背景。

+4

已投票;有用的答案。 WTF是否有-4? – mxcl 2012-11-03 17:28:33

+7

我想人們可能會因爲不同意所表達的觀點而降低投票率。 '