HTML5的新結(jié)構(gòu)標(biāo)簽
在之前的HTML頁面中,大家基本上都是用了Div+CSS的布局方式。而搜索引擎去抓取頁面的內(nèi)容的時(shí)候,它只能猜測(cè)你的某個(gè)Div內(nèi)的內(nèi)容是文章內(nèi)容容器,或者是導(dǎo)航模塊的容器,或者是作者介紹的容器等等。也就是說整個(gè)HTML文檔結(jié)構(gòu)定義不清晰,HTML5中為了解決這個(gè)問題,專門添加了:頁眉、頁腳、導(dǎo)航、文章內(nèi)容等跟結(jié)構(gòu)相關(guān)的結(jié)構(gòu)元素標(biāo)簽。
在講這些新標(biāo)簽之前,我們先看一個(gè)普通的頁面的布局方式:
上圖中我們非常清晰的看到了,一個(gè)普通的頁面,會(huì)有頭部,導(dǎo)航,文章內(nèi)容,還有附著的右邊欄,還有底部等模塊,而我們是通過class進(jìn)行區(qū)分,并通過不同的css樣式來處理的。但相對(duì)來說class不是通用的標(biāo)準(zhǔn)的規(guī)范,搜索引擎只能去猜測(cè)某部分的功能,另外就是此頁面程序交給視力障礙人士來閱讀的話,文檔結(jié)構(gòu)和內(nèi)容也不會(huì)很清晰。而HTML5新標(biāo)簽帶來的新的布局則是下面這種情況:
代碼如下:
<!DOCTYPE html>
<html> <head> <title>my page</title> </head> <body> <header>header</header> <nav>nav</nav> <article> <section>section</section> </article> <aside>aside</aside> <footer>footer</footer> </body> </html>
有了上面的直接的感官的認(rèn)識(shí)后,我們下面一一來介紹HTML5中的相關(guān)結(jié)構(gòu)標(biāo)簽。
<section>
<section>標(biāo)簽,定義文檔中的節(jié)。比如章節(jié)、頁眉、頁腳或文檔中的其它部分。一般用于成節(jié)的內(nèi)容,會(huì)在文檔流中開始一個(gè)新的節(jié)。它用來表現(xiàn)普通的文檔內(nèi)容或應(yīng)用區(qū)塊,通常由內(nèi)容及其標(biāo)題組成。但section元素標(biāo)簽并非一個(gè)普通的容器元素,它表示一段專題性的內(nèi)容,一般會(huì)帶有標(biāo)題。
當(dāng)我們描述一件具體的事物的時(shí)候,通常鼓勵(lì)使用article來代替section;當(dāng)我們使用section時(shí),仍然可以使用h1來作為標(biāo)題,而不用擔(dān)心它所處的位置,以及其它地方是否用到;當(dāng)一個(gè)容器需要被直接定義樣式或通過腳本定義行為時(shí),推薦使用div元素而非section。
<section> <h1>section是什么?</h1> <h2>一個(gè)新章節(jié)</h2> <article> <h2>關(guān)于section</h2> <p>section的介紹</p> ... </article> </section>
<article>
特殊的section標(biāo)簽,它比section具有更明確的語義,它代表一個(gè)獨(dú)立的、完整的相關(guān)內(nèi)容塊。當(dāng)我們描述一件具體的事物的時(shí)候,通常鼓勵(lì)使用article來代替section。
article會(huì)有標(biāo)題部分(通常包含在header內(nèi)),也可以包含footer。
article可以嵌套,內(nèi)層的article對(duì)外層的article標(biāo)簽有隸屬關(guān)系。
<article> <header> <hgroup> <h1>這是一篇介紹HTML 5結(jié)構(gòu)標(biāo)簽的文章</h1> <h2>HTML 5的革新</h2> </hgroup> <time datetime="2011-03-20">2011.03.20</time> </header> <p>文章內(nèi)容詳情</p> </article>
<nav>
可以作為頁面導(dǎo)航的鏈接組,其中的導(dǎo)航元素鏈接到其它頁面或者當(dāng)前頁面的其它部分,使html代碼在語義化方面更加精確,同時(shí)對(duì)于屏幕閱讀器等設(shè)備的支持也更好。
<nav> <ul> <li>厚德IT</li> <li>FlyDragon</li> <li>J飛龍?zhí)祗@</li> </ul> </nav>
<aside>
aside標(biāo)簽用來裝載非正文的內(nèi)容,被視為頁面里面一個(gè)單獨(dú)的部分。它包含的內(nèi)容與頁面的主要內(nèi)容是分開的,可以被刪除,而不會(huì)影響到網(wǎng)頁的內(nèi)容、章節(jié)或是頁面所要傳達(dá)的信息。例如廣告,成組的鏈接,側(cè)邊欄等等。
<aside> <h1>作者簡(jiǎn)介</h1> <p>厚德IT</p> </aside>
<header>
header標(biāo)簽定義文檔的頁眉,通常是一些引導(dǎo)和導(dǎo)航信息。它不局限于寫在網(wǎng)頁頭部,也可以寫在網(wǎng)頁內(nèi)容里面。
通常header標(biāo)簽至少包含一個(gè)標(biāo)題標(biāo)記(h1-h6),還可以包括hgroup標(biāo)簽,還可以包括表格內(nèi)容、標(biāo)識(shí)、搜索表單、nav導(dǎo)航等。
<header> <hgroup> <h1>網(wǎng)站標(biāo)題</h1> <h1>網(wǎng)站副標(biāo)題</h1> </hgroup> </header>
<footer>
footer標(biāo)簽定義section或document的頁腳,包含了與頁面、文章或是部分內(nèi)容有關(guān)的信息,比如說文章的作者或者日期。 它和header標(biāo)簽使用基本一樣,可以在一個(gè)頁面中多次使用,如果在一個(gè)區(qū)段的后面加入footer,那么它就相當(dāng)于該區(qū)段的頁腳了。
<footer> 頁腳信息 </footer>
<hgroup>
hgroup標(biāo)簽是對(duì)網(wǎng)頁或區(qū)段section的標(biāo)題元素(h1-h6)進(jìn)行組合。例如,在一區(qū)段中你有連續(xù)的h系列的標(biāo)簽元素,則可以用hgroup將他們括起來。
<hgroup> <h1>這是一篇介紹HTML 5結(jié)構(gòu)標(biāo)簽的文章</h1> <h2>HTML 5的革新</h2> </hgroup>
<figure>
用于對(duì)元素進(jìn)行組合。多用于圖片與圖片描述組合。
<figure> <img src="img.gif" alt="figure標(biāo)簽" title="figure標(biāo)簽" /> <figcaption>這兒是圖片的描述信息</figcaption> </figure>
手冊(cè)上更多的新元素