1. 程式人生 > >用HTML5新標籤構建頁面

用HTML5新標籤構建頁面

HTML5新標籤與傳統DIV標籤頁面佈局區別

在之前的HTML頁面中,大家基本上都是用了Div+CSS的佈局方式。而搜尋引擎去抓取頁面的內容的時候,它只能猜測你的某個Div內的內容是文章內容容器,或者是導航模組的容器,或者是作者介紹的容器等等。也就是說整個HTML文件結構定義不清晰,HTML5中為了解決這個問題,專門添加了:頁首、頁尾、導航、文章內容等跟結構相關的結構元素標籤。

在講這些新標籤之前,我們先看一個普通的頁面的佈局方式:
DIV標籤

上圖中我們非常清晰的看到了,一個普通的頁面,會有頭部,導航,文章內容,還有附著的右邊欄,還有底部等模組,而我們是通過class進行區分,並通過不同的css樣式來處理的。但相對來說class不是通用的標準的規範,搜尋引擎只能去猜測某部分的功能,另外就是此頁面程式交給視力障礙人士來閱讀的話,文件結構和內容也不會很清晰。而HTML5新標籤帶來的新的佈局則是下面這種情況:
HTML5標籤


相應程式碼:

<body>

  <header>...</header>

  <nav>...</nav>

  <article>

    <section>

      ...

    </section>

  </article>

  <aside>...</aside>

  <footer>...</footer>

</body>

有了上面的直接的感官的認識後,我們下面一一來介紹HTML5中的相關結構標籤。

HTML5中的相關結構標籤

section標籤

<section>標籤,定義文件中的節。比如章節、頁首、頁尾或文件中的其它部分。一般用於成節的內容,會在文件流中開始一個新的節。它用來表現普通的文件內容或應用區塊,通常由內容及其標題組成。但section元素標籤並非一個普通的容器元素,它表示一段專題性的內容,一般會帶有標題。
當我們描述一件具體的事物的時候,通常鼓勵使用article來代替section;當我們使用section時,仍然可以使用h1來作為標題,而不用擔心它所處的位置,以及其它地方是否用到;當一個容器需要被直接定義樣式或通過指令碼定義行為時,推薦使用div元素而非section。

<section>

<h1>section是什麼?</h1>

<h2>一個新的章節</h2>

<article>

<h2>關於section</h1>

<p>section的介紹</p>

...

</article>

</section>

article標籤

<article>是一個特殊的section標籤,它比section具有更明確的語義,它代表一個獨立的、完整的相關內容塊,可獨立於頁面其它內容使用。例如一篇完整的論壇帖子,一篇部落格文章,一個使用者評論等等。一般來說,article會有標題部分(通常包含在header內),有時也會包含footer。article可以巢狀,內層的article對外層的article標籤有隸屬關係。例如,一篇部落格的文章,可以用article顯示,然後一些評論可以以article的形式嵌入其中。

<article>

<header>

<hgroup>

<h1>這是一篇介紹HTML 5結構標籤的文章</h1>

<h2>HTML 5的革新</h2>

</hgroup>

<time datetime="2011-03-20">2011.03.20</time>

</header>

<p>文章內容詳情</p>

</article>

<nav>標籤代表頁面的一個部分,是一個可以作為頁面導航的連結組,其中的導航元素連結到其它頁面或者當前頁面的其它部分,使html程式碼在語義化方面更加精確,同時對於螢幕閱讀器等裝置的支援也更好。

<nav>

<ul>

<li>蘋果</li>

<li>葡萄</li>

<li>橙子</li>

</ul>

</nav>

aside標籤

<aside>標籤用來裝載非正文的內容,被視為頁面裡面一個單獨的部分。它包含的內容與頁面的主要內容是分開的,可以被刪除,而不會影響到網頁的內容、章節或是頁面所要傳達的資訊。例如廣告,成組的連結,側邊欄等等。

<aside>

<h1>作者簡介</h1>

<p>***</p>

</aside>

header標籤

<header>標籤定義文件的頁首,通常是一些引導和導航資訊。它不侷限於寫在網頁頭部,也可以寫在網頁內容裡面。
通常<header>標籤至少包含(但不侷限於)一個標題標記(<h1>-<h6>),還可以包括<hgroup>標籤,還可以包括表格內容、標識、搜尋表單、<nav>導航等。

<header>

<hgroup>

<h1>網站標題</h1>

<h1>網站副標題</h1>

</hgroup>

</header>

footer標籤

<footer>標籤定義section或document的頁尾,包含了與頁面、文章或是部分內容有關的資訊,比如說文章的作者或者日期。作為頁面的頁尾時,一般包含了版權、相關檔案和連結。它和<header>標籤使用基本一樣,可以在一個頁面中多次使用,如果在一個區段的後面加入footer,那麼它就相當於該區段的頁尾了。

<footer>

COPYRIGHT@***

</footer>

hgroup標籤

<hgroup>標籤是對網頁或區段section的標題元素(h1-h6)進行組合。例如,在一區段中你有連續的h系列的標籤元素,則可以用hgroup將他們括起來。

<hgroup>

<h1>這是一篇介紹HTML 5結構標籤的文章</h1>

<h2>HTML 5的革新</h2>

</hgroup>

figure 標籤

用於對元素進行組合。多用於圖片與圖片描述組合。

<figure>

<img src="img.gif" alt="figure標籤"  title="figure標籤" />

<figcaption>這兒是圖片的描述資訊</figcaption>

</figure>

總結:

有了新的結構性的標籤的標準,讓HTML文件更加清晰,可閱讀性更強,更利於SEO,也更利於視障人士閱讀。