語義化標簽一:節元素標簽。

在HTML 5出來之前,我們用div來表示頁面章節,但是這些div都沒有實際意義。(即使我們用css樣式的id和class形容這塊內容的意義)。這些標簽只是我們提供給瀏覽器的指令,只是定義一個網頁的某些部分。但現在,那些之前沒“意義”的標簽因為因為html5的出現消失了,這就是我們平時說的“語義”。
看下圖沒有用div標簽來布局

html5-layout.jpg

嗯,如上圖那個頁面結構沒有一個div,都是采用html5語義標簽(用哪些標簽,關鍵取決于你的設計目標)。
但是也不要因為html5新標簽的出現,而隨意用之,錯誤的使用肯定會事與愿違。所以有些地方還是要用div的,就是因為div沒有任何意義的元素,他只是一個標簽,僅僅是用來構建外觀和結構。因此是最適合做容器的標簽。
W3C定義了這些語義標簽,不可能完全符合我們有時的設計目標,就像制定出來的法律不可能流傳100年都不改變,更何況它才制定沒多久,不可能這些語義標簽對所以設計目標的適應。只是一定程度上的“通用”,我們的目標是讓爬蟲讀懂重要的東西就夠了。
結論:不能因為有了HTML 5標簽就棄用了div,每個事物都有它的獨有作用的。
節點元素標簽因使用的地方不同,我將他們分為:節元素標簽文本元素標簽分組元素標簽分開來講解HTML5中新增加的語義化標簽和使用總結。


header元素
header 元素代表“網頁”或“section”的頁眉。通常包含h1-h6元素或hgroup,作為整個頁面或者一個內容塊的標題。也可以包裹一節的目錄部分,一個搜索框,一個nav,或者任何相關logo。
整個頁面沒有限制header元素的個數,可以擁有多個,可以為每個內容塊增加一個header元素

<header> 
  <hgroup> 
      <h1>網站標題</h1>
      <h1>網站副標題</h1> 
  </hgroup>
</header>
header的示例代碼

header使用注意:

  • 可以是“網頁”或任意“section”的頭部部分;
  • 沒有個數限制。
  • 如果hgroup或h1-h6自己就能工作的很好,那就不要用header。

footer元素
footer元素代表“網頁”或“section”的頁腳,通常含有該節的一些基本信息,譬如:作者,相關文檔鏈接,版權資料。如果footer元素包含了整個節,那么它們就代表附錄,索引,提拔,許可協議,標簽,類別等一些其他類似信息。

<footer> 
   COPYRIGHT@小北</footer>
footer的示例代碼

footer使用注意:

  • 可以是“網頁”或任意“section”的底部部分;
  • 沒有個數限制,除了包裹的內容不一樣,其他跟header類似。

hgroup元素
hgroup元素代表“網頁”或“section”的標題,當元素有多個層級時,該元素可以將h1到h6元素放在其內,譬如文章的主標題和副標題的組合


<hgroup> 
        <h1>這是一篇介紹HTML 5語義化標簽和更簡潔的結構</h1> 
        <h2>HTML 5</h2>
</hgroup>

hgroup示例代碼

hgroup使用注意:

  • 如果只需要一個h1-h6標簽就不用hgroup
  • 如果有連續多個h1-h6標簽就用hgroup
  • 如果有連續多個標題和其他文章數據,h1-h6標簽就用hgroup包住,和其他文章元數據一起放入header標簽

nav元素
nav元素代表頁面的導航鏈接區域。用于定義頁面的主要導航部分

<nav> 
      <ul> 
          <li>HTML 5</li> 
          <li>CSS3</li> 
          <li>JavaScript</li> 
      </ul>
</nav>

nav實例


  但是我在有些時候卻情不自禁的想用它,譬如:側邊欄上目錄,面包屑導航,搜索樣式,或者下一篇上一篇文章,但是事實上規范上說nav只能用在頁面主要導航部分上。頁腳區域中的鏈接列表,雖然指向不同網站的不同區域,譬如服務條款,版權頁等,這些footer元素就能夠用了。

nav使用注意:
用在整個頁面主要導航部分上,不合適就不要用nav元素;


aside元素
aside元素被包含在article元素中作為主要內容的附屬信息部分,其中的內容可以是與當前文章有關的相關資料、標簽、名次解釋等。(特殊的section)
在article元素之外使用作為頁面或站點全局的附屬信息部分。最典型的是側邊欄,其中的內容可以是日志串連,其他組的導航,甚至廣告,這些內容相關的頁面。

<article> 
        <p>內容</p> 
        <aside> 
                <h1>作者簡介</h1> 
                <p>小北,前端一枚</p> 
        </aside>
</article>

aside實例


aside使用總結:

  • aside在article內表示主要內容的附屬信息,
  • 在article之外則可做側邊欄,沒有article與之對應,最好不用。
  • 如果是廣告,其他日志鏈接或者其他分類導航也可以用

section元素
section元素代表文檔中的“節”或“段”,“段”可以是指一篇文章里按照主題的分段;“節”可以是指一個頁面里的分組。section通常還帶標題,雖然html5中section會自動給標題h1-h6降級,但是最好手動給他們降級。如下:

<section> 
       <h1>section是啥?</h1> 
       <article> 
            <h2>關于section</h1> 
            <p>section的介紹</p> 
            <section> 
                  <h3>關于其他</h3> 
                  <p>關于其他section的介紹</p> 
            </section> 
       </article>
</section>

section示例代碼


section使用注意:
一張頁面可以用section劃分為簡介、文章條目和聯系信息。不過在文章內頁,最好用article。section不是一般意義上的容器元素,如果想作為樣式展示和腳本的便利,可以用div。

  • 表示文檔中的節或者段;
  • article、nav、aside可以理解為特殊的section,所以如果可以用article、nav、aside就不要用section,沒實際意義的就用div

article元素
article元素最容易跟section和div容易混淆,其實article代表一個在文檔,頁面或者網站中自成一體的內容,其目的是為了讓開發者獨立開發或重用。譬如論壇的帖子,博客上的文章,一篇用戶的評論,一個互動的widget小工具。(特殊的section)
除了它的內容,article會有一個標題(通常會在header里),會有一個footer頁腳。我們舉幾個例子介紹一下article,好更好區分article、section、div

<article>
         <h1>一篇文章</h1> 
         <p>文章內容..</p> 
         <footer> 
                <p>
                    <small>版權:html5jscss網所屬,作者:小北</small>
                </p>
        </footer>
</article>
  一篇簡單文章的article示例代碼

上例是最好簡單的article標簽使用情況,如果在article內部再嵌套article,那就代表內嵌的article是與它外部的內容有關聯的,如博客文章下面的評論,如下:

<article> 
        <header> 
              <h1>一篇文章</h1> 
              <p><time pubdate datetime="2012-10-03">2012/10/03</time></p>        
        </header> 
        <p>文章內容..</p> 
        <article> 
              <h2>評論</h2> 
              <article> 
                    <header> 
                        <h3>評論者: XXX</h3> 
                        <p><time pubdate datetime="2012-10-03T19:10-08:00">~1 hour ago</time></p> 
                    </header> 
                    <p>哈哈哈</p> 
              </article> 
              <article> 
                    <header> 
                        <h3>評論者: XXX</h3> 
                        <p><time pubdate datetime="2012-10-03T19:10-08:00">~1 hour ago</time></p> 
                    </header> 
                    <p>哈?哈?哈?</p> 
              </article> 
          </article>
</article>

文章里的評論,一個article嵌套article來表示的實例

article內部嵌套article,有可能是評論或其他跟文章有關聯的內容。那article內部嵌套section一般是什么情況呢。如下:

<article> 
        <h1>前端技術</h1> 
        <p>前端技術有那些</p> 
        <section> 
              <h2>CSS</h2> 
              <p>樣式..</p> 
        </section> 
        <section> 
              <h2>JS</h2> 
              <p>腳本</p> 
        </section>
</article>
  

文章里的章節,一個article里的section實例

因為文章內section部分雖然也是獨立的部分,但是它門只能算是組成整體的一部分,從屬關系,article是大主體,section是構成這個大主體的一部分。本網站的全部文章都是article嵌套一個個section章節,這樣能讓瀏覽器更容易區分各個章節所包括的內容。
那section內部嵌套article又有哪些情況呢,如下

<section> 
       <h1>介紹: 網站制作成員配備</h1> 
       <article> 
               <h2>設計師</h2> 
               <p>設計網頁的...</p> 
       </article> 
       <article> 
               <h2>程序員</h2> 
               <p>后臺寫程序的..</p> 
        </article> 
        <article> 
               <h2>前端工程師</h2> 
               <p>給樓上兩位打雜的..</p> 
        </article>
</section>

一個section里的article實例
設計師、程序員、前端工程師都是一個獨立的整體,他們組成了網站制作基本配備,當然還有其他成員~~。設計師、程序員、前端工程師就像article,是一個個獨立的整體,而section將這些自成一體的article包裹,就組成了一個團體。
article和section和例子就例舉這么多了,具體情況具體分析,不易深究。漏了div
,其實div就是只是想用來把元素組合或者給它們加樣式時使用。
article使用注意:

  • 自身獨立的情況下:用article
  • 是相關內容:用section
  • 沒有語義的:用div

HTML5其他結構元素標簽
HTML5節元素標簽包括 body article nav aside section header footer hgroup,還有h1-h6 address。


address
代表區塊容器,必須是作為聯系信息出現,郵編地址、郵件地址等等,一般出現在footer。
h1-h6
因為hgroup,section和article的出現,h1-h6定義也發生了變化,允許一張頁面出現多個h1。

本文源鏈接:http://www.html5jscss.com/html5-semantics-section.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,001評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,786評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,986評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,204評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,964評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,354評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,410評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,554評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,106評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,918評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,093評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,648評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,342評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,755評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,009評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,839評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,107評論 2 375

推薦閱讀更多精彩內容

  • 首先是關于語義(Semantics)和默認樣式的區別,默認樣式是瀏覽器設定的一些常用tag的表現形式,語義化的主要...
    DecadeHeart閱讀 3,447評論 0 3
  • HTML 5的革新之一:語義化標簽一節元素標簽。 在HTML 5出來之前,我們用div來表示頁面章節,但是這些di...
    吳越公子閱讀 773評論 0 0
  • 1. HTML語義化背景介紹 講到語義化,我們首先來聊聊html語義化的背景,HTML結構語義化,是最近幾年才提出...
    阿布_0caf閱讀 25,389評論 1 20
  • 最近做了項目才知道語義化標簽的重要性。有語義的標簽,能有助于爬蟲讀懂,有利于SEO優化。 如上圖所示, heade...
    大大的小小小心愿閱讀 531評論 0 1
  • 湖山,一個江南的尋常小鎮。青山環繞,碧水悠悠,宛如一個清秀文靜的小家碧玉。 曾在遂昌居住兩年多,一直錯...
    范丹霞閱讀 791評論 2 8