Html5 學習系列(二)HTML5新增結構標簽


引言

在本節中,筆者將向大家講述三部分內容,分別介紹HTML5時代的召喚,跟HTML4的區別,以及HTML5中帶來的新的結構標簽。

  • HTML5時代的召喚
  • HTML4與HTML5的區別
  • HTML5新結構標簽

HTML5時代的召喚

  上一代的HTML的標准: HTML 4.01 和 XHTML 1.0 距離今天已經發布了10多年了,而Web端的應用也已經翻天覆地的變換。而且Web前端沒有一個統一的通用的互聯網標准,各個瀏覽器間擁有太多的不兼容,在維護這些瀏覽器兼容性浪費了太多的時間。再有就是之前的多媒體操作、動畫等都需要第三方的插件的支持,而這就造成多平台的兼容性的問題,而這一切在HTML5中都將成為標准,這樣就在根本上解決了瀏覽器的差異以及一些第三方插件的問題,讓Web應用更加標准,通用性更強,而且更加的獨立於設備。

HTML5並不是革命性的改變,而只是發展性的。而且對於之前HTML4的很多標准都是兼容的,所有通過最新HTML5標准制作的Web應用也可以輕松的跑在老版本的瀏覽器上。HTML5標准中的確是集成了很多實用的功能比如:音視頻、本地存儲、Socket通信、動畫等都是之前應用開發中確實感覺到Web端的雞肋才得到重視和升級的,相信如果你有相關的經驗的話也會很有感觸。

HTML5的目標是:它通過一些新標簽,新功能為開發更加簡、獨立、標准的通用Web應用提供了標准。新的標准解決了三大問題:瀏覽器兼容問題,解決了文檔結構不明確的問題,解決了Web應用程序功能受限等問題。

HTML4HTML5的區別

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元素標簽並非一個普通的容器元素,它表示一段專題性的內容,一般會帶有標題。
當我們描述一件具體的事物的時候,通常鼓勵使用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>厚德IT</li>

<li>FlyDragon</li>

<li>J飛龍天驚</li>

</ul>

</nav>

 

aside標簽

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

<aside>

<h1>作者簡介</h1>

<p>厚德IT</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@厚德IT

</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,也更利於視障人士閱讀。

HTML5旋風來了,你准備好了嗎?

當然以上只是筆者的觀點,每個人都有閱讀新技術的角度,歡迎大家轉載討論。

參考書:《HTML5與CSS3權威指南》

參考網址:

http://www.alistapart.com/articles/previewofhtml5 

http://coding.smashingmagazine.com/2009/07/16/html5-and-the-future-of-the-web/ 

http://www.w3school.com.cn 

http://zh.wikipedia.org/wiki/HTML5 

http://www.rainleaves.com/html/1338.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM