2012-05-04 37 views
0

我已經知道有外討論使用部分元素的多個線程內容 - 我已經讀了很多人,到目前爲止,我來到了以下結論:結構的部位與在部分部件標題

一<部分>元素應該用於包裝可以存儲爲單個數據庫記錄的內容。 (根據HTML5doctor),並且標題應該是裏面的部分元素(儘管在數據庫中我不會將標題存儲在與內容相同的列中))

到目前爲止,重新組織我的網站的結構,並通過http://gsnedders.html5.org/outliner/進行了分析 - 但令人驚訝的是,它忽略了我的h1,h2,...標題順序(某處我讀過特殊元素重置標題或如此...?:S),這有點讓我生氣。

現在我已經得到了像(跳過一些div的爲造型的目的)的結構:

<header> 
    <section> 
     h1 // title of my page --> h1 
    </section> 
    <section> 
     <nav>...</nav> 
    </section> 
</header> 
<div role="main"> // don't use section for your website's main content 
    h2 // main content 
    <section> 
     h3 // main content's sub heading 
    </section> 
    <section> 
     h4 // sub heading of main content's sub heading 
      h5 
      h5 
    </section> 
    <section> 
     h3 // another main content's sub heading 
    </section> 
</div> 
<aside> 
    <section> 
     h3 // about me 
    </section> 
</aside> 

而不是預期的輪廓:

title of my page 
    navigation 
    main content 
     main content's sub-headings, etc. 
    about me 

我:

main content 
    title of my page 
    navigation 
    main content's sub entries 
    about me 

當然,我可以在一些部分元素中包裹我的標題以重置此計數器,但我絕不會存儲整個mai n內容作爲一個單一的數據庫條目 - 所以這將是一個語義元素的非語義用法,這使得整個工作有點多餘。

我是否錯過了節元素或嵌套標題的點?任何建議如何處理這種行爲(聽起來很理論,但在實踐中,它似乎表現得很奇怪...)

編輯:我決定堅持「使用文章的元素,可能是一個RSS項目」的規則,因爲它使更多的意義,我並繼續使用部分元素從導航等。除了保持主要內容(如下回答)

回答

1

的部分元素

我不確定我是否同意您的部分定義。它從HTML5規範中說

section元素表示一個通用文檔或應用程序部分。

它接着說

鼓勵作者使用的文章元素,而不是部分元素,當它將使意義辛迪加元素的內容。

所以我認爲應該使用一篇文章來代替部分,如果你打算把某些東西存儲爲「個人數據庫條目」。另請參閱this部門要素的DO和DON'T的良好列表。

文件,概述

在你的文檔大綱而言,這很難說是怎麼回事,你有沒有包括的任何結束標記。你能發佈一個完整的,有效的HTML例子嗎?

在我推薦您閱讀的Mozilla Developers Network上,概述了HTML5文檔的概述。以你的例子並添加結束標記,我想他們應該是基於這篇文章,我建議在HTML

<doctype html> 
<header> 
    <h1>title of my page</h1> 
</header> 
<nav>My Nav</nav> 
<article id="main-content"> 
    <h2>main content</h2> 
    <section> 
     <h3>main content's sub heading</h3> 
     <section> 
      <h4>sub heading of main content's sub heading</h4> 
      <section> 
       <h5>a sub, sub heading of main content's sub heading</h5> 
      </section> 
     </section> 
    </section> 
    <section> 
     <h3>another main content's sub heading</h3> 
    </section> 
</article> 
<aside> 
    <h3>about me</h3> 
</aside> 

這將產生輪廓我的網頁

    1. 稱號
    2. 無題部分(這是NAV)
    3. 主要內容
      1. 主要內容的副標題主要內容的副標題
        1. 子的0
          1. 副標題,主要內容的子子標題標題
    4. 另一個主要內容的副標題
    5. 關於我

這是你期望的大綱嗎?

章節標題

注意您不必使用h1h2h3等,HTML5的輪廓會制定出什麼是標題的基礎上,嵌套的深度子headingetc您的文章或部分。如果你想,你可以在任何地方使用h1(儘管不要),大綱仍然會產生上述提綱。

+0

thx用於推薦節元素和提議的DOs和DON'Ts,但在文章中指出文章和節元素都不應用於從頁眉/頁腳中分割內容(推薦:div,請參閱第一個DON'Ts項目),但該div不重置「標題計數器」 - >文章是否是語義解決方案? (如果我討厭你,那就是了,但是現在唯一的問題是關於語義的問題,因爲我只能使用div來更容易達到我的目標^^) – Peter