HTML5主要解決了以往文件的一些痛點:
-
解決文件結構混亂 以前的文件結構過度依賴div,HTML5推出了多種語義化標籤,使得文件更利於閱讀器等理解,更利於SEO優化。
-
解決瀏覽器之間的相容性問題 市場上瀏覽器種類繁多,每個瀏覽器廠商都在做自己的東西,沒有一個標準限制,HTML5的出現就是為了統一標準。目前主流瀏覽器除IE6,7,8以外都支援HTML5標準
-
擴充套件Web應用的功能 以前Web頁面僅僅只是展示作用,HTML5出現許多新的api,瀏覽器廠商也在迅速的封裝這些api,使得Web頁面更像是一個多互動的應用程式而非單純的頁面展示。
主要的區別:
- 語法改變:
- 文件宣告的變化 文件宣告的作用就是告訴標記語言解析器,應該用什麼文件型別定義(DTD)來解析。 超文字4.01規定了3種文件型別:嚴格、過渡、框架集。格式類似於這樣:
// HTML4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//en" "http://www.w3.org/TR/html4/strict.dtd">
//HTML5
<!DOCTYPE HTML>
//這裡所有的doctype不區分大小寫
複製程式碼
- 具有布林值的屬性
<inpout type="text" disabled />
複製程式碼
- 可以指定字元編碼
<meta charset="UTF-8">
複製程式碼
- 新增的元素和廢除的元素:
-
新增的結構元素: article、section、side、header、footer、nav等
-
新增的input元素: email、number、url、range等
-
新增的其他元素: video、audio、canvas、datalist等
-
廢除的元素: 一些能被css代替的元素:big、s、u等
-
不再使用frame框架 可以使用iframe等
- 全域性屬性:
- contentEditable----------富文字編輯屬性
- designMode----------用來指定整個頁面是否可編輯,當頁面可編輯時,頁面中任何支援contentEditable屬性的元素都變成了可編輯狀態。 designMode屬性只能在JavaScript指令碼里被編輯修改。該屬性有兩個值--“on”與“off”。屬性被指定為“on”時,頁面可編輯;被指定為“off”時,頁面不可編輯。
- hidden----------類似於display:none
- spellsheck----------文字框的拼寫檢查
- tabindex----------使用Tab鍵訪問的順序