在本人看來,HTML 5是一個妥協方案,雖不激進,但更能推動技術的繼續進步。沒有命名空間,元素也不要求閉合(當然這并不是優點),瀏覽器也可以寬大處理一些錯誤。一切沿襲上個世紀HTML 4的做法。對于HTML的渲染,瀏覽器一直停留在1999年的水平。為此,HTML 5是一個實用主義方案,這樣不僅可以繼續處理這么多年來散落在世界各個角落的HTML,也可以讓瀏覽器廠商更輕易添加新特性。這就叫degrade gracefully(優雅降級)。讓我們來看看HTML 5增加的一些新元素。
結構元素
這真是大快人心。目前,我們定義結構只能通過一個“萬能”的div, 試圖通過設置它的特性id的值如header, footer, sidebar等來分別表達頭部,底部或者側欄等。有了它們,代碼編寫者不再需要為id的命名費盡心思,對于手機、閱讀器等設備更有語義的好處。HTML 5增加了新的結構元素來表達這些最常用的結構:
section: 這可以表達書本的一部分或一章,或者一章內的一節
header: 頁面主體上的頭部。并非head元素
footer: 頁面的底部(頁腳),可以是一封郵件簽名的所在
nav: 到其他頁面的鏈接集合
article: 諸如blog, 雜志,綱要等之中的一條獨立記錄。
舉個例子,一個blog的首頁,用HTML 5寫的話,可以是這樣(有省略):
| 以下為引用的內容: <<!DOCTYPE HTML> aside <aside> <figure> <dialog> |
m元素用來標記一些不是那么需要著重強調的文本。現在尚有爭議,可能最終會改為mark.
time元素如其名,用來表達時間。它需要一個datetime的特性來標明機器能夠熟悉的時間,如:
<time datetime="2008-08-08T20:08:08">2008年8月8日晚上8時8分8秒</tiem>meter元素表達特定范圍內的數值。可用于薪水、百分比、分數等。比如:
很遺憾地告訴你,我只有<meter>150cm</meter>它還有6個特性來表達各方面的含義,比如:
<p>您的分數是:<meter value="88.7" min="0" max="100" low="65" high="96" optimum="100">B </meter>.</p>
還有一個progress,也是義如其名,用以表達進度:
目標完成度:<progress value="40" max="100">40%</progress>嵌入多媒體
新增video和audio元素。顧名思義,分別是用來插入視頻和聲音的。至于格式,交由瀏覽器實現,HTML再也不需要非凡的代碼去播放特定的格式。就像img一樣,不管是png, jpg還是gif都可以顯示。值得注重的是,它們可以包含內容。比如,可以把歌詞放到某段歌曲中去:
| 以下為引用的內容: <audio src="誰人伴你睡.mp3"> <p>淚枯干</p> <p>難忍怎么委屈自已</p> <p>曾經有一刻悲與喜</p> ... </audio> |
交互性
HTML 5同時也叫Web Applications 1.0, 因此也進一步發展交互能力。這些標簽就是為提高頁面的交互體驗而生:
| 以下為引用的內容: details datagrid menu command |
details
用來表示一段具體的內容,但是內容默認可能不顯示,通過某種手段(如點擊)與legend交互才顯示出來。這跟現在各種通過JavaScript隱藏一段內容,在點擊后才顯示出來的做法有些類似。比如:
一句話記錄生活中的點點滴滴,
| 以下為引用的內容: <details> <legend>更多</legend> <p>交流與分享,拉近你和朋友,支持 MSN/GTalk/QQ、短信、手機 WAP</p> </details>它可以有一個open的特性,用來顯示細節與否。 |
datagrid用來控制數據,可以由用戶或者腳本來更新。
menuHTML 2就存在了,不過HTML 4把它廢棄了。HTML 5廢物利用,并在期內加上command元素。
參考:New elements in HTML 5
新聞熱點
疑難解答