2013-08-28 17 views
3

非常簡單快捷的良好習慣懷疑。作爲W3C州,頁腳標籤應相當於其父母部分,在這裏爲每一個頁腳元素應該只有一個父部分,所以瀏覽器理解那些特定的標題頁腳標記作爲該頁面的特定部分的頁眉和頁腳當與子頁腳或頁眉元素相關時,Body表示一個Section?

我的問題是,考慮到這一點,可以在被認爲是部分,讓這樣做正確:

<body> 
    <header></header> 
    <footer></footer> 

    <section> 
    <header></header> 
    <footer></footer> 
    </section> 
</body> 

還是應該一部分總是實際部分,其中正確的編碼實踐將是這樣的:

<body> 
    <section> 
    <header></header> 
    <footer></footer> 
    </section> 

    <section> 
    <header></header> 
    <footer></footer> 
    </section> 
</body> 

有什麼建議嗎?

+0

您是否有鏈接到您的報價來源? – zzzzBov

回答

1

documentation on sectioning content略有不清楚這一點。被分段的內容

內容定義標題和頁腳

的範圍的唯一元件是articleasidenav,和section。然而,,body,details,fieldset, figuretdsectioning roots,它們可以有它們自己的輪廓。

還有一個頁面

<body> 
    <header> 
    ... 
    </header> 
    <footer> 
    ... 
    </footer> 
</body> 

上的例子...所以這一切表明,你是好與<header><footer>進去<body>,和事實來看,這是比如果不同你有另一節,因爲身體上的那些在輪廓上比兄弟節更高。

另一件事讓的基礎上規範想到的是,那些「切片根」元素不會影響他們的祖先的輪廓(雖然他們會比祖先的根下)。

例如:

<section> 
    <header>head</header> 
    <fieldset> 
     <header>head2</header> 
    </fieldset> 
</section> 

在這種情況下的「頭」和「HEAD2」是在所述文檔大綱相同的水平,因爲<fieldset>是一個切片。如果它是<section>,它將嵌套在「頭」節點中。您可以確認這一點with this handy web utility

+0

我已經嘗試了一些html5大綱,但他們都沒有澄清我,因爲他們忽略** body **的直接子代的** header **和** footer **。 – gespinha

1

W3C HTML5 CR表示body元素是sectioning root,所以沒有理由將其內容包裝在section元素中。它甚至會令人誤解,因爲它描述了section元素,因此它「代表文檔或應用程序的通用部分。在這種情況下,一個部分是內容的主題分組,通常帶有一個標題。「將所有內容組合成一個組是毫無意義的。另一方面,沒有證據表明瀏覽器實際上並不關心section,header等的「語義」。現代瀏覽器對它們只有一些默認的渲染規則,就是這樣;舊版本的瀏覽器會忽略這些標籤,只是將內容渲染爲標籤不在那裏。