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鍵訪問的順序