2011-07-17 32 views
4

我開始學習HTML/CSS,並且在我的學習過程中,我已經看到了語義學的概念強調。大多數時候我明白我應該使用什麼,一切正常。但也有很多時候,感覺就像有簡單的東西太多太多的標籤,例如:我是否需要爲我的網站的主標題提供所有這些HTML5標記?

假設我有一個主標題上我的網站導航的一些鏈接,語義我得到這個:

<section id="masterHeader"> 
    <header> 
     <nav> 
      <ul> 
       <li><a href="#"> link </a></li> 
      </ul> 
     </nav> 
    </header> 
</section> 

這是太多了,還是應該這樣做,因爲它確實有意義?它看起來像很多不需要的標籤。

+0

爲什麼你將頭部封裝到一個節中?我認爲標題只是一個專門的部分,應該以這種方式使用。除此之外,您的標記對我來說看起來很好。 – Jay

+0

http://dev.w3.org/html5/html-author/#the-header-element使它聽起來像它應該在一個部分,或者我應該使用一個部分作爲容器,然後使用容器中的頭部? – valon

回答

3

在標籤標籤中使用標題標籤看起來沒有必要。相反,它應該看起來像這樣:

<header id="masterHeader"> 
    <nav> 
     <ul> 
      <li><a href="#"></a></li> 
     </ul> 
    <nav> 
</header> 
+0

焦慮不安的問題:如果我希望在身體內的所有內容周圍都有一個容器(包裝器),應該使用什麼?我應該使用分區還是分區? – valon

+0

w3c使用以下內容定義它:「

標籤定義文檔中的各個部分,如章節,頁眉,頁腳或文檔的任何其他部分。」 問題是,如果我們在這種情況下已經有了頁眉和頁腳標記,那麼如果段標記不太可能用於保存它們。 你可以參考這篇文章 - http:// www。impressivewebs.com/html5-section/ - 關於如何使用章節標記的一些想法。 話雖如此,我會建議使用div包裝代替。 希望有幫助=) – vynx

+0

編輯:讀你的編輯,非常感謝,現在更有意義! – valon

5

語義設計一個頁面的目的並不是因爲它作爲一個設計者閱讀(雖然這是一個很好的好處)或者因爲它更輕量級(它往往不是)。相反,語義設計的目的是增加代碼的含義,使得ID和類無法實現div。一個搜索引擎抓取您的網站可以在語義標記時表面上理解您的代碼。

問題是,IE8和更低本身不支持這些語義元素,因此需要js shiv。但是,然後你的佈局在IE8中斷,如果他們禁用了JS,則會降低它。在考慮使用HTML5元素之前,這是一個折衷,你必須認真權衡,因爲你的佈局將在IE8-6中以no-js破解。另外,我認爲section元素在你的使用中在語義上不正確(但我可能是錯的,我必須檢查w3c規範)。但那不是在這裏也不在那裏,而且大多隻是挑剔。

+0

標題不是頁面的一部分嗎?這就是爲什麼我在那裏有部分。 – valon

+0

http://www.w3.org/wiki/HTML/Elements/section:「section元素不是一個通用的容器元素,section元素只有在內容將在文檔的大綱中明確列出時才適用。」在你的情況下,你只是使用section元素作爲頁面標題部分的容器。但是,如果你像這樣剖析你的頁面,那意味着頁腳和容器是分區,然後容器內的分區也是分區。相反,部分應該只用於將主題內容分組,如書的章節,或介紹,outro和正文文本 – Moses

+0

@Moses - 通常,它拼寫爲「shim」,但我們經常*希望*使用shiv IE :-) –

相關問題