HTML4和HTML5之間的10個主要不同
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真正可以實用時候。目前還不是時候。
相關文章
- Html5和Html4的不同HTML
- HTML4與HTML5之間的10個本質區別HTML
- HTML4 和 HTML5的10個關鍵區別HTML
- HTML5和HTML4的區別HTML
- HTML5系列:HTML5與HTML4的區別HTML
- Android Studio和eclipse之間的不同AndroidEclipse
- w3c from html4 to html5HTML
- Python和R之間的優勢有何不同?Python
- Python和Java之間有什麼不同之處?PythonJava
- 兩個不同的web系統之間可以呼叫程式嗎Web
- 不同層之間的物件關係物件
- Spark和Hadoop之間的主要技術差異和選擇SparkHadoop
- javascript引入了不同版本的多個jquery,如何不同版本之間不互相影響JavaScriptjQuery
- Python和Java之間有什麼不同之處?總結!PythonJava
- 前端學習——HTML4和HTML5設定頁面語言字符集前端HTML
- 10個令人驚歎的HTML5和JavaScript效果HTMLJavaScript
- 實現不同程式之間的通訊
- html5非常火,他究竟與html4有何差別?HTML
- 不同表結構或者不同資料型別之間的集合操作資料型別
- QT之不同主機之間TCP通訊QTTCP
- 示例解讀 Python 2 和 Python 3 之間的主要差異Python
- Python不同進位制之間的轉換Python
- 如何防止jQuery庫不同版本之間的衝突jQuery
- 不同Oracle資料庫之間的資料同步Oracle資料庫
- 使用exchange partition來交換不同schema之間的表
- 不同順序InBoundHandler之間的資料傳遞
- Git 和 SVN 之間的五個基本區別Git
- GIT和SVN之間的五個基本區別Git
- 《HTML5移動應用開發入門經典》——2.3 HTML4標籤和屬性的變化HTML
- oracle不同版本之間exp/imp規則Oracle
- nextTick 在 vue 2.5 和 vue 2.6 之間有什麼不同Vue
- Oracle RMAN 相容性 及 不同版本和不同平臺之間使用 常見問題說明Oracle
- For Update操作分析——不同Oracle版本之間的差異研究Oracle
- 在不同主機的ASM之間拷貝檔案ASM
- 關於同一個連線不同資料庫之間的 Eloquent 關聯查詢資料庫
- 10個出色的HTML5畫布示例HTML
- Flink不同併發之間如何通訊
- 探討一下flutter不同介面之間的通訊Flutter