回答
HTML5有幾個不同於HTML4的目標。
相合處理格式錯誤的文檔
主一個是一致,定義錯誤處理。如您所知,HTML特意支持「標籤湯」,或者編寫格式錯誤的代碼並將其更正爲有效的文檔。問題是這樣做的規則不會在任何地方寫下來。當一個新的瀏覽器供應商想要進入市場時,他們只需在各種瀏覽器(尤其是IE)中測試格式錯誤的文檔,並對其錯誤處理進行逆向工程。如果他們不這樣做,那麼許多頁面將無法正確顯示(估計網頁上大約90%的頁面至少有些不正常)。因此,HTML5試圖發現並編寫這種錯誤處理方式,這樣瀏覽器開發人員就可以全部標準化並大大減少持續顯示內容所需的時間和金錢。另外,在HTML作爲文檔格式去世後的將來,歷史學家可能仍然希望閱讀我們的文檔,並且具有完全定義的分析算法將對此有很大的幫助。
更好的Web應用程序功能
HTML5的第二個目標是開發的瀏覽器是一個應用平臺的能力,通過HTML,CSS和Javascript。許多元素已直接添加到當前(基於HTML4)Flash或基於JS的黑客(如<canvas>
,<video>
和<audio>
)的語言中。有用的東西,如本地存儲(一個js可訪問的瀏覽器內置鍵值數據庫,用於存儲超出cookie可以容納的信息),新的輸入類型(如瀏覽器可以暴露的簡單用戶界面的日期)不必使用我們基於js的日曆日期選擇器),並且支持瀏覽器的表單驗證將使開發人員的開發Web應用程序變得更加簡單,並且使用戶能夠爲用戶提供更快的速度(因爲許多事情將在本地支持,而不是通過JavaScript進行入侵)。
改進元語義
還有許多其他較小的努力發生在HTML5中,如現有元素(<strong>
和<em>
定義更好的語義角色現在實際上意味着不同的東西,甚至<b>
和<i>
有模糊語義在解析時遺留的文件),並增加了有用的語義的新元素應該很好地工作 - <article>
,<section>
,<header>
,<aside>
,並<nav>
應更換大部分的網頁上使用<div>
S,使網頁有點更多的語義,但更重要的是,更易於閱讀。沒有更痛苦的掃描,看看那個隨機的</div>
正在關閉 - 相反,您將有一個明顯的</header>
或</article>
,使您的文檔結構更加直觀。
您需要檢查here以獲得完整的差異。但是有很多新元素和元素屬性。有些元素被刪除,其他元素的語義值與以前不同。還定義了一些API,例如使用畫布來幫助構建下一代Web應用程序,並確保實現標準化。
- 新的解析走向靈活的解析和兼容性
- 新元素的面向規則 - 部分,視頻,進步,導航,儀表,時間,放在一邊,帆布
- 新的輸入屬性 - 日期和時間,電子郵件,網址
- 新屬性 - ping,字符集,異步
- 全局屬性(可應用於每個元素) - id,tabindex,re泥炭
- 棄用的元素下降 - 中心,字體,罷工
HTML 5邀您給很多語義值添加到您的代碼。此外,還有本地化解決方案來嵌入多媒體內容。
其餘部分很重要,但它更具有技術性的糖,可以幫助您避免使用客戶端編程語言完成相同的工作。
您可能對HTML5 elements and attributes的列表感興趣。
此外,請注意它是「HTML 4」,而不是「HTML4」。事實上,對於HTML 5,使用了兩種變體,但意義上存在重要差異。 HTML 5引用了W3C規範的名稱,而「HTML5」是符合此規範的text/html
MIME類型的HTML文件的文檔類型。 XHTML 5與XHTML5也是如此。
您似乎暗示XHTML 5存在,但事實並非如此。 XHTML的最新W3C推薦標準是1.1,2.0正處於草案階段。 – 2010-08-11 04:41:24
@David Rivers:它確實存在。 [XHTML5是HTML5的XML序列化](http://mathiasbynens.be/notes/xhtml5)。 – 2010-08-11 12:20:11
HTML5引入了許多API來幫助創建Web應用程序。這些可與用於應用的新元素一起使用:
- 用於播放可用於新視頻和音頻元素的視頻和音頻的API。
- 啓用離線Web應用程序的API。
- 允許Web應用程序爲特定協議或媒體類型註冊自己的API。
- 編輯API與新的全局
contenteditable
屬性相結合。 - 拖動&拖放API與
draggable
屬性組合。 - 一個公開歷史記錄並允許頁面添加到其中以防止中斷後退按鈕的API。
現在W3C提供在其網站上正式的區別:
總之這是很簡單的與HTML相比,長DOCTYPE被刪除,還中心和字體標記將被刪除。 我也在我的博客中回答了這個區別: http://ravisinghblog.in/key-difference-between-html-and-html-5/
- 1. HTML 5比以前的版本有什麼主要區別?
- 2. HTML和XAML的主要區別?
- 3. php 4和php 5有什麼區別?
- 4. Go的tmp和html有什麼區別?
- 5. 什麼是Html 5的'jQuery'?
- 6. getc()vs fgetc() - 主要區別是什麼?
- 7. Cassandra中分區和列族的主要區別是什麼
- 8. html代表什麼?和html和html5的區別
- 9. .clone()和.html()有什麼區別?
- 10. html和*有什麼區別嗎?
- 11. smarty中* .tpl和* .html有什麼區別?
- 12. html和xml有什麼區別?
- 13. asp:label和HTML標籤有什麼區別?
- 14. PHPExcel和PhpSpreadsheet的主要區別是什麼?
- 15. Html :: encode()和YII2中的基本html代碼有什麼區別?
- 16. 字符數組的ESI和EBX的主要區別是什麼?
- 17. java中的Array和Hashmap之間的主要區別是什麼?
- 18. 是platform.js主要區別是什麼和聚合物webcomponent.js
- 19. mootools中的.innerHTML和.set('html','')之間的區別是什麼?
- 20. HTML中的http://和//之間的區別是什麼
- 21. Sql Server 2005和Sql Server 2008的主要區別是什麼?
- 22. CTE和TEMP表格之間的主要區別是什麼?
- 23. 靜態類和單一類的主要區別是什麼
- 24. 框架和工具包之間的主要區別是什麼?
- 25. Java SE和Java EE之間的主要區別是什麼?
- 26. G1GC和SGen GC之間的主要區別是什麼
- 27. VB Express 2008(pro)和2010之間的主要區別是什麼?
- 28. HAML,SASS/Compass和ERB的主要區別是什麼?
- 29. C++中stdlib.h和cstdlib之間的主要區別是什麼?
- 30. Asp.Net webApplication和網站的主要區別是什麼?
請通過編輯答案來突出標籤和句子。 (這只是一個建議,因爲在我讀這本書時,它讓我感到厭倦。) – 2013-05-13 15:48:16