引言在本節中,筆者將向大家講述三部分內容,分別介紹HTML5時代的召喚,跟HTML4的區別,以及HTML5中帶來的新的結構標簽。 HTML5時代的召喚上一代的HTML的標準: HTML 4.01 和 XHTML 1.0 距離今天已經發布了10多年了,而Web端的應用也已經翻天覆地的變換。而且Web前端沒有一個統一的通用的互聯網標準,各個瀏覽器間擁有太多的不兼容,在維護這些瀏覽器兼容性浪費了太多的時間。再有就是之前的多媒體操作、動畫等都需要第三方的插件的支持,而這就造成多平臺的兼容性的問題,而這一切在HTML5中都將成為標準,這樣就在根本上解決了瀏覽器的差異以及一些第三方插件的問題,讓Web應用更加標準,通用性更強,而且更加的獨立于設備。 HTML5并不是革命性的改變,而只是發展性的。而且對于之前HTML4的很多標準都是兼容的,所有通過最新HTML5標準制作的Web應用也可以輕松的跑在老版本的瀏覽器上。HTML5標準中的確是集成了很多實用的功能比如:音視頻、本地存儲、Socket通信、動畫等都是之前應用開發中確實感覺到Web端的雞肋才得到重視和升級的,相信如果你有相關的經驗的話也會很有感觸。 HTML5的目標是:它通過一些新標簽,新功能為開發更加簡、獨立、標準的通用Web應用提供了標準。新的標準解決了三大問題:瀏覽器兼容問題,解決了文檔結構不明確的問題,解決了Web應用程序功能受限等問題。 HTML4與HTML5的區別1、取消了一些過時的 HTML4的標簽 其中包括純粹顯示效果的標記,如<font>和<center>,它們已經被 CSS完全取代。 其他取消的屬性:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt。 2、添加了一些新的元素 比如:更加智能的表單標簽:date, email, url 等;更加合理的標簽:section, video, progress, nav, meter, time, aside, canvas等。 3、新的全局屬性:id, tabindex, repeat 4、文件類型聲明(<!DOCTYPE>)僅有一型:<!DOCTYPE HTML>。 5、新的JS API 還有很多其他的變化,后續的系列博文中我將一一介紹。 HTML5的新結構標簽在之前的HTML頁面中,大家基本上都是用了Div CSS的布局方式。而搜索引擎去抓取頁面的內容的時候,它只能猜測你的某個Div內的內容是文章內容容器,或者是導航模塊的容器,或者是作者介紹的容器等等。也就是說整個HTML文檔結構定義不清晰,HTML5中為了解決這個問題,專門添加了:頁眉、頁腳、導航、文章內容等跟結構相關的結構元素標簽。 在講這些新標簽之前,我們先看一個普通的頁面的布局方式: 上圖中我們非常清晰的看到了,一個普通的頁面,會有頭部,導航,文章內容,還有附著的右邊欄,還有底部等模塊,而我們是通過class進行區分,并通過不同的css樣式來處理的。但相對來說class不是通用的標準的規范,搜索引擎只能去猜測某部分的功能,另外就是此頁面程序交給視力障礙人士來閱讀的話,文檔結構和內容也不會很清晰。而HTML5新標簽帶來的新的布局則是下面這種情況:
相關的HTML代碼是: <body> <header>...</header> <nav>...</nav> <article> <section> ... </section> </article> <aside>...</aside> <footer>...</footer> </body>
有了上面的直接的感官的認識后,我們下面一一來介紹HTML5中的相關結構標簽。 section標簽 <section>標簽,定義文檔中的節。比如章節、頁眉、頁腳或文檔中的其它部分。一般用于成節的內容,會在文檔流中開始一個新的節。它用來表現普通的文檔內容或應用區塊,通常由內容及其標題組成。但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代碼在語義化方面更加精確,同時對于屏幕閱讀器等設備的支持也更好。
aside標簽 aside標簽用來裝載非正文的內容,被視為頁面里面一個單獨的部分。它包含的內容與頁面的主要內容是分開的,可以被刪除,而不會影響到網頁的內容、章節或是頁面所要傳達的信息。例如廣告,成組的鏈接,側邊欄等等。
header標簽 <header>標簽定義文檔的頁眉,通常是一些引導和導航信息。它不局限于寫在網頁頭部,也可以寫在網頁內容里面。 通常<header>標簽至少包含(但不局限于)一個標題標記(<h1>-<h6>),還可以包括<hgroup>標簽,還可以包括表格內容、標識、搜索表單、<nav>導航等。
footer標簽 footer標簽定義section或document的頁腳,包含了與頁面、文章或是部分內容有關的信息,比如說文章的作者或者日期。作為頁面的頁腳時,一般包含了版權、相關文件和鏈接。它和<header>標簽使用基本一樣,可以在一個頁面中多次使用,如果在一個區段的后面加入footer,那么它就相當于該區段的頁腳了。
hgroup標簽 hgroup標簽是對網頁或區段section的標題元素(h1-h6)進行組合。例如,在一區段中你有連續的h系列的標簽元素,則可以用hgroup將他們括起來
figure 標簽 用于對元素進行組合。多用于圖片與圖片描述組合。 <figure> <img src='img.gif' alt='figure標簽' title='figure標簽' /> <figcaption>這兒是圖片的描述信息</figcaption> </figure>
總結:有了新的結構性的標簽的標準,讓HTML文檔更加清晰,可閱讀性更強,更利于SEO,也更利于視障人士閱讀。 HTML5旋風來了,你準備好了嗎? 當然以上只是筆者的觀點,每個人都有閱讀新技術的角度,歡迎大家轉載討論。 參考書:《HTML5與CSS3權威指南》 參考網址: http://www./articles/previewofhtml5 |
|