用HTML5新標籤構建頁面
HTML5新標籤與傳統DIV標籤頁面佈局區別
在之前的HTML頁面中,大家基本上都是用了Div+CSS的佈局方式。而搜尋引擎去抓取頁面的內容的時候,它只能猜測你的某個Div內的內容是文章內容容器,或者是導航模組的容器,或者是作者介紹的容器等等。也就是說整個HTML文件結構定義不清晰,HTML5中為了解決這個問題,專門添加了:頁首、頁尾、導航、文章內容等跟結構相關的結構元素標籤。
在講這些新標籤之前,我們先看一個普通的頁面的佈局方式:
上圖中我們非常清晰的看到了,一個普通的頁面,會有頭部,導航,文章內容,還有附著的右邊欄,還有底部等模組,而我們是通過class進行區分,並通過不同的css樣式來處理的。但相對來說class不是通用的標準的規範,搜尋引擎只能去猜測某部分的功能,另外就是此頁面程式交給視力障礙人士來閱讀的話,文件結構和內容也不會很清晰。而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標籤
<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,也更利於視障人士閱讀。