2013-05-14 85 views
2

這對我來說似乎很奇怪,但奇怪的是,在<header>中有一個使用<header>的理由。標題內的標題? (HTML5)

隨着<hgroup> remove from the spec我似乎處於一個奇怪的狀態與我應該/可以用下面的一段代碼做什麼。

<header> 
    <header> 
     <h1>Maecenas faucibus</h1> 
     <p class="h1-sub">Donec sed odio dui.</p> 
    </header> 
    <section> 
     <img src="..." alt="faucibus"> 
     <img src="..." alt="faucibus"> 
     <img src="..." alt="faucibus"> 
    </section> 
</header> 

這確實都出現在<article>的頭部,所以我不知道它在視覺上似乎有那麼我還是應該把它定義爲一個<header>或者我應該把它包所有的東西,如:

<section class="article-header"> 
    <header><h1>...</h1><p>...</p></header> 
    <section>...</section> 
</section> 

我還沒有遇到任何說<header>不能在它自己內部嵌套,並想知道這是否是相同的調用,你可以有<article>本身嵌套如果它是合乎邏輯的意義(所以如果有東西組合在一起是有道理的但也仍然是)。

回答

3

根據該HTML5 specification,它是無效有另一個<header>元件內部的<header>元件。

這很有趣,因爲<header>允許的內容在技術上也允許它:

允許的內容->流內容->流元件->

然而,有約束條件的具體到<header>元素 - 它們包括:

  • 標題元素不能顯示爲頁腳 元素的後代。

  • 標題元素不得作爲地址 元素的後代出現。

  • 標題元素不能出現爲標題元素的後代。

因此,這是不有效標記了 - 無論是作爲一個直接的子元素或後代元素都沒有。