HTML5是最新的HTML標准,或遲或早,所有的web程序員都會發現需要使用到這個最新的標准,而且,很多人都會感覺到,重新開發一個HTML5的網站,要比把一個網站從HTML4遷移到HTML5上容易的多,這是因為這兩個版本之間有很大不同之處。
事實上,HTML5並沒有對HTML4做什麼重大的修改,它們很多東西都是相似的。
可是,其中有一些很重要的區別你需要知道。下面列出的就是一些HTML4和HTML5之間主要的不同之處(並不是全部,全部列出來是不可能的):
1. HTML5標准還在制定中
這頭一個不同之處顯而易見,但非常重要,我需要先從它開始。也許你已經注意到了關於HTML5很酷的言論到處都是,但是事實情況是,HTML5是一個還未完成的標准。HTML4已經有10歲了,但它仍是當前正式的標准的事實沒有改變。
另一方面,HTML5仍處在早期階段,以後的修改會不斷的出現。你必須考慮到這些,因為你在網站上使用的這些新增加或修改的網頁元素會每年都出現一些變化,你需要不停的更新升級你的網站,這可不是你希望的。這就是目前為止,你最好在產品裡使用HTML4,只在實驗裡使用HTML5的原因。
2. 簡化的語法
更簡單的doctype聲明是HTML5裡眾多新特征之一。現在你只需要寫<!doctype html>,這就行了。HTML5的語法兼容HTML4和XHTML1,但不兼容SGML。
3. 一個替代Flash的新 <canvas> 標記
對於Web用戶來說,Flash既是一個驚喜,也是一種痛苦。有很多的Web開發人員對HTML5對Flash產生的威脅很不滿。但對於那些忍受著要花幾年時間加載和運行的臃腫的Flash視頻的人來說,用新的 <canvas> 標記生成視頻的技術已經到來。
目前, <canvas> 標記並不能提供所有的Flash具有的功能,但假以時日,Flash必將從web上淘汰。我們拭目以待,因為很多人還並不認同這種觀點。
4. 新的 <header> 和 <footer> 標記
HTML5的設計是要更好的描繪網站的解剖結構。這就是為什麼這些<header> 和
<footer> 等新標記的出現,它們是專門為標志網站的這些部分設計的。
在開發網站時,你不在需要用<div>標記來標注網頁的這些部分。
5. 新的 <section> 和 <article> 標記
跟<header> 和 <footer>標記類似,HTML5中引入的新的<section> 和 <article> 標記可以讓開發人員更好的標注頁面上的這些區域。
據推測,除了讓代碼更有組織外,它也能改善SEO效果,能讓搜索引擎更容易的分析你的頁面。
6. 新的 <menu> 和 <figure> 標記
新的<menu>標記可以被用作普通的菜單,也可以用在工具條和右鍵菜單上,雖然這些東西在頁面上並不常用。
類似的,新的 <figure> 標記是一種更專業的管理頁面上文字和圖像的方式。當然,你可以用樣式表來控制文字和圖像,但使用HTML5內置的這個標記更適合。
7. 新的 <audio> 和 <video> 標記
新的<audio> 和 <video> 標記可能是HTML5中增加的最有用處的兩個東西了。正如標記名稱,它們是用來嵌入音頻和視頻文件的。
除此之外還有一些新的多媒體的標記和屬性,例如<track>,它是用來提供跟蹤視頻的文字信息的。有了這些標記,HTML5使Web2.0特征變得越來越友好。問題在於,在HTML5還未被廣泛的接受之前,Web2.0還是老的Web2.0。
8. 全新的表單設計
新的 <form> 和 <forminput> 標記對原有的表單元素進行的全新的修改,它們有很多的新屬性(以及一些修改)。如果你經常的開發表單,你應該花時間更詳細的研究一下。
9. 不再使用 <b> 和 <font> 標記
對我個人來說,這是一個讓我不太理解的改動。我並不認為去除 <b> 和 <font>標記會帶來多大的好處。我知道,官方的指導說這些標記可以通過CCS來做更好的處理,但這樣一來,為了在文章一兩個地方出現的這種標記,你就需要在獨立的css和文本兩個地方來實現這一的功能,豈不笨拙。也許我們以後會習慣這種方法。
10. 不再使用 <frame>, <center>, <big> 標記
事實上,我已經記不清曾經何時用過這些標記了,所以,我並不為去除這些標記感到悲哀。相同的原因,有更好的標記能實現它們的功能——這很好,任何作廢的標記從標准中剔除都是受歡迎的。
這10個HTML5和HTML4之間的不同只是整個新的規范中的一小部分。除了這些主要的變動外,我還可以略提一下一些次要的改動,比如修改了<ol> 標記的屬性,讓它能夠倒排序,對<u>標記也做了修改。
所有這些次要的改動數量眾多。而且新的修改也在不斷的增加,因此,如果你想實時跟蹤最新的動向,你需要經常的查看w3.org的HTML4 和 HTML5之間的不同這個頁面。如果你很心急,想在你的工作中使用這些新的標記和屬性,我勸告你最好只是做實驗,原因已經說的很清楚了,這些新標記和新屬性在將來也許會有很大的改變,所以,除非你不斷的更新你的代碼,它們很可能會過期失效。
盡管如今大多數流行的浏覽器的最新版都支持HTML5,但有些新的(或修改的)標記和屬性它們並不支持,所以你的網頁在用戶的屏幕上有可能前後顯示的不一致。耐心等待,等待HTML5真正可以實用時候。目前還不是時候。