2013-10-18 48 views
0

我剛剛閱讀HTML5規範以瞭解我是否可以在header中嵌套nav元素。 header元素的段落是有點如果你問我,很奇怪,但可能只是因爲我不理解它。HTML5 - 標題和輪廓算法 - 混淆

在這個例子中,該頁面有h1元素給出的頁面標題, 和兩個小標題,其標題由h2元素給出。在頭元素之後的 內容仍然是在頭元素中開始的最後一個子部分 的一部分,因爲頭元素在輪廓算法中不採用 部分。

<body> 
<header> 
    <h1>Little Green Guys With Guns</h1> 
    <nav> 
    <ul> 
    <li><a href="/games">Games</a> 
    <li><a href="/forum">Forum</a> 
    <li><a href="/download">Download</a> 
    </ul> 
    </nav> 
    <h2>Important News</h2> <!-- this starts a second subsection --> 
    <!-- this is part of the subsection entitled "Important News" --> 
    <p>To play today's games you will need to update your client.</p> 
    <h2>Games</h2> <!-- this starts a third subsection --> 
</header> 
<p>You have three active games:</p> 
<!-- this is still part of the subsection entitled "Games" --> 
... 

來源:http://www.w3.org/TR/html5/sections.html#the-header-element

因此,根據評論,<p>You have three active games:</p>仍是頭內啓動,因爲其本身的頭不引入新的部分款的一部分。

但是這不與HTML構建的嵌套結構打破嗎?例如,這是無效的標記,因爲嵌套是錯誤的:

<div> 
    <p> 
</div> 
</p> 

,但如果我將定義 - 理論 - 即DIV不會做任何事情,那麼這將是罰款?

請不要誤解我的意思,這不是一個咆哮或任何東西,我只是試圖理解這背後的感覺是什麼?另外,爲什麼標題元素在章節下列出,如果它不是分段元素?

順便說一下,HTML5的輪廓還是像大約一年前一樣破碎了嗎?或者有沒有一種工具或者一些現在可以正確處理它的東西?

回答

0

因此,根據評論,

你有三個活躍的遊戲:

是 的款還一部分。

此處的關鍵字是根據評論,而不是代碼。從技術上講,該段是身體的一個孩子。我同意編碼和評論不匹配,但代碼在技術上不是不正確的。並且沒有限制,評論或內容只能在一個塊中存在。

<div> 
    <p> 
</div> 
</p> 

在技術上是不正確,你可以更清楚地看到,如果我添加一些CSS。

div { height:100px; width:auto; } 
p {display:block; height:50px; width:300px} 

鑑於CSS上面的代碼假設看起來像什麼?

什麼兼容的瀏覽器可以做的是,上面的代碼改寫成

<div> 
    <p></p> 
</div> 
<p></p> 

瀏覽器引擎重寫HTML和CSS可以呈現之後。