HTML4和HTML5之間的10個(gè)主要不同

2011-11-17 10:15:17來(lái)源:developerdrive作者:

HTML5是最新的HTML標(biāo)準(zhǔn),或遲或早,所有的web程序員都會(huì)發(fā)現(xiàn)需要使用到這個(gè)最新的標(biāo)準(zhǔn),而且,很多人都會(huì)感覺到,重新開發(fā)一個(gè)HTML5的網(wǎng)站,要比把一個(gè)網(wǎng)站從HTML4遷移到HTML5上容易的多,這是因?yàn)檫@兩個(gè)版本之間有

HTML5是最新的HTML標(biāo)準(zhǔn),或遲或早,所有的web程序員都會(huì)發(fā)現(xiàn)需要使用到這個(gè)最新的標(biāo)準(zhǔn),而且,很多人都會(huì)感覺到,重新開發(fā)一個(gè)HTML5的網(wǎng)站,要比把一個(gè)網(wǎng)站從HTML4遷移到HTML5上容易的多,這是因?yàn)檫@兩個(gè)版本之間有很大不同之處。

事實(shí)上,HTML5并沒(méi)有對(duì)HTML4做什么重大的修改,它們很多東西都是相似的。可是,其中有一些很重要的區(qū)別你需要知道。下面列出的就是一些HTML4和HTML5之間主要的不同之處(并不是全部,全部列出來(lái)是不可能的):

1. HTML5標(biāo)準(zhǔn)還在制定中

這頭一個(gè)不同之處顯而易見,但非常重要,我需要先從它開始。也許你已經(jīng)注意到了關(guān)于HTML5很酷的言論到處都是,但是事實(shí)情況是,HTML5是一個(gè)還未完成的標(biāo)準(zhǔn)。HTML4已經(jīng)有10歲了,但它仍是當(dāng)前正式的標(biāo)準(zhǔn)的事實(shí)沒(méi)有改變。

另一方面,HTML5仍處在早期階段,以后的修改會(huì)不斷的出現(xiàn)。你必須考慮到這些,因?yàn)槟阍诰W(wǎng)站上使用的這些新增加或修改的網(wǎng)頁(yè)元素會(huì)每年都出現(xiàn)一些變化,你需要不停的更新升級(jí)你的網(wǎng)站,這可不是你希望的。這就是目前為止,你最好在產(chǎn)品里使用HTML4,只在實(shí)驗(yàn)里使用HTML5的原因。

2. 簡(jiǎn)化的語(yǔ)法

更簡(jiǎn)單的doctype聲明是HTML5里眾多新特征之一,F(xiàn)在你只需要寫<!doctype html>,這就行了。HTML5的語(yǔ)法兼容HTML4和XHTML1,但不兼容SGML。

3. 一個(gè)替代Flash的新 <canvas> 標(biāo)記

對(duì)于Web用戶來(lái)說(shuō),F(xiàn)lash既是一個(gè)驚喜,也是一種痛苦。有很多的Web開發(fā)人員對(duì)HTML5對(duì)Flash產(chǎn)生的威脅很不滿。但對(duì)于那些忍受著要花幾年時(shí)間加載和運(yùn)行的臃腫的Flash視頻的人來(lái)說(shuō),用新的 <canvas> 標(biāo)記生成視頻的技術(shù)已經(jīng)到來(lái)。

目前, <canvas> 標(biāo)記并不能提供所有的Flash具有的功能,但假以時(shí)日,F(xiàn)lash必將從web上淘汰。我們拭目以待,因?yàn)楹芏嗳诉并不認(rèn)同這種觀點(diǎn)。

4. 新的 <header> 和 <footer> 標(biāo)記

HTML5的設(shè)計(jì)是要更好的描繪網(wǎng)站的解剖結(jié)構(gòu)。這就是為什么這些<header> 和
<footer> 等新標(biāo)記的出現(xiàn),它們是專門為標(biāo)志網(wǎng)站的這些部分設(shè)計(jì)的。

在開發(fā)網(wǎng)站時(shí),你不在需要用<div>標(biāo)記來(lái)標(biāo)注網(wǎng)頁(yè)的這些部分。

5. 新的 <section> 和 <article> 標(biāo)記

跟<header> 和 <footer>標(biāo)記類似,HTML5中引入的新的<section> 和 <article> 標(biāo)記可以讓開發(fā)人員更好的標(biāo)注頁(yè)面上的這些區(qū)域。

據(jù)推測(cè),除了讓代碼更有組織外,它也能改善SEO效果,能讓搜索引擎更容易的分析你的頁(yè)面。

6. 新的 <menu> 和 <figure> 標(biāo)記

新的<menu>標(biāo)記可以被用作普通的菜單,也可以用在工具條和右鍵菜單上,雖然這些東西在頁(yè)面上并不常用。

類似的,新的 <figure> 標(biāo)記是一種更專業(yè)的管理頁(yè)面上文字和圖像的方式。當(dāng)然,你可以用樣式表來(lái)控制文字和圖像,但使用HTML5內(nèi)置的這個(gè)標(biāo)記更適合。

7. 新的 <audio> 和 <video> 標(biāo)記

新的<audio> 和 <video> 標(biāo)記可能是HTML5中增加的最有用處的兩個(gè)東西了。正如標(biāo)記名稱,它們是用來(lái)嵌入音頻和視頻文件的。

除此之外還有一些新的多媒體的標(biāo)記和屬性,例如<track>,它是用來(lái)提供跟蹤視頻的文字信息的。有了這些標(biāo)記,HTML5使Web2.0特征變得越來(lái)越友好。問(wèn)題在于,在HTML5還未被廣泛的接受之前,Web2.0還是老的Web2.0。

8. 全新的表單設(shè)計(jì)

新的 <form> 和 <forminput> 標(biāo)記對(duì)原有的表單元素進(jìn)行的全新的修改,它們有很多的新屬性(以及一些修改)。如果你經(jīng)常的開發(fā)表單,你應(yīng)該花時(shí)間更詳細(xì)的研究一下。

9. 不再使用 <b> 和 <font> 標(biāo)記

對(duì)我個(gè)人來(lái)說(shuō),這是一個(gè)讓我不太理解的改動(dòng)。我并不認(rèn)為去除 <b> 和 <font>標(biāo)記會(huì)帶來(lái)多大的好處。我知道,官方的指導(dǎo)說(shuō)這些標(biāo)記可以通過(guò)CCS來(lái)做更好的處理,但這樣一來(lái),為了在文章一兩個(gè)地方出現(xiàn)的這種標(biāo)記,你就需要在獨(dú)立的css和文本兩個(gè)地方來(lái)實(shí)現(xiàn)這一的功能,豈不笨拙。也許我們以后會(huì)習(xí)慣這種方法。

10. 不再使用 <frame>, <center>, <big> 標(biāo)記

事實(shí)上,我已經(jīng)記不清曾經(jīng)何時(shí)用過(guò)這些標(biāo)記了,所以,我并不為去除這些標(biāo)記感到悲哀。相同的原因,有更好的標(biāo)記能實(shí)現(xiàn)它們的功能——這很好,任何作廢的標(biāo)記從標(biāo)準(zhǔn)中剔除都是受歡迎的。

這10個(gè)HTML5和HTML4之間的不同只是整個(gè)新的規(guī)范中的一小部分。除了這些主要的變動(dòng)外,我還可以略提一下一些次要的改動(dòng),比如修改了<ol> 標(biāo)記的屬性,讓它能夠倒排序,對(duì)<u>標(biāo)記也做了修改。

所有這些次要的改動(dòng)數(shù)量眾多。而且新的修改也在不斷的增加,因此,如果你想實(shí)時(shí)跟蹤最新的動(dòng)向,你需要經(jīng)常的查看w3.org的HTML4 和 HTML5之間的不同這個(gè)頁(yè)面。如果你很心急,想在你的工作中使用這些新的標(biāo)記和屬性,我勸告你最好只是做實(shí)驗(yàn),原因已經(jīng)說(shuō)的很清楚了,這些新標(biāo)記和新屬性在將來(lái)也許會(huì)有很大的改變,所以,除非你不斷的更新你的代碼,它們很可能會(huì)過(guò)期失效。

盡管如今大多數(shù)流行的瀏覽器的最新版都支持HTML5,但有些新的(或修改的)標(biāo)記和屬性它們并不支持,所以你的網(wǎng)頁(yè)在用戶的屏幕上有可能前后顯示的不一致。耐心等待,等待HTML5真正可以實(shí)用時(shí)候。目前還不是時(shí)候。

原文:http://www.developerdrive.com/2011/08/10-essential-differences-between-html4-and-html5/

關(guān)鍵詞:HTMLHTML5