1、簡化的文檔類型和字符集
(1)文檔類型
<!DOCTYPE HTML>
之所以如此簡單,是因為HTML5不再是SGML( Standard Generalized Markup language,標准通用標記語言)的一部分,而是獨立的標記語言,不需要再考慮文檔類型
(2)字符集
<meta charset="UTF-8">
只需要utf-8即可
2、富有語義化的新結構元素
<header>
<h1>HTML5新結構<h1/>
<nav>導航部分</nav>
<p></p>
</header>
<section> <h1></h1> <p>不再全是div</p>
。。。 </section>
<footer>
</footer>
section元素 可以認為div是section元素,一個普通的分塊元素,可用來定義網站中的特定的可區別的區域
header元素包括標題,logo,導航和其他頁眉的內容,可以在網站上加多個header,就像給內容加多個標題
hgroup元素 即將標題進行分組的元素
footer元素版權聲明和作者信息,包涵一些鏈接
nav元素主要用於主導航菜單
article元素獨立成文且以其他格式重用的內容應該置於一個article元素中
aside元素用途包涵內容周圍的相關內容
3、新增的內聯元素
<figure> <p>圖片</p> <img src="img1.jpg" width="100" height="100"> </figure>
figure元素一個典型用途是包含圖像,代碼和其他內容對主要內容進行說明,刪除不會影響主內容
figcaption元素主要用於figure的標題
mark元素突出顯示以表示引用的內容,或者突出顯示與用戶當前活動相關的內容,他不同於en或strong元素
time元素,當需要在內容中顯示時間或者日期時,則建議使用time元素
time元素可以包涵兩個屬性,一個datetime表示在元素中指定的確切日期和世家,pubdate表示文章或者整個文檔發布時time元素所指定的日期和時間
meter元素用於定義度量衡,規定最大最小寬高,通常要結合css一起作用,效果如下:
progress元素用於定義一個進度條,有max(完成值)和value(進度條當前值)兩個屬性。
4、支持動態頁面
1)菜單<menu>
用於表單中組織控件列表,常用屬性如下:
定義一個選擇列表的例子:
<menu> <li><input type="checkbox"/>a</li> <li><input type="checkbox"/>b</li> <li><input type="checkbox"/>c</li> </menu> <!--目前主流瀏覽器都不支持-->
2)右鍵菜單<menitem>
3)在<script>標簽中使用async屬性
用於指定異步執行的腳本
4)<detail>元素
用於描述文檔或文檔某個部分的細節
<details> <summary>details</summary> <p>用於描述文檔細節<p> </details>
效果:
展開后:
5、全新的表單設計
HTML5 新的 Input 類型
HTML5 擁有多個新的表單輸入類型。這些新特性提供了更好的輸入控制和驗證。
- url
- number
- range
- Date pickers (date, month, week, time, datetime, datetime-local)
- search
- color
HTML5 的新的表單元素:
- datalist
- keygen
- output
新的 form 屬性:
- autocomplete
- novalidate
新的 input 屬性:
- autocomplete
- autofocus
- form
- form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
- height 和 width
- list
- min, max 和 step
- multiple
- pattern (regexp)
- placeholder
- required
autocomplete 屬性規定 form 或 input 域應該擁有自動完成功能。
當用戶在自動完成域中開始輸入時,瀏覽器應該在該域中顯示填寫的選項:
實例:
<form action="/example/html5/demo_form.asp" method="get" autocomplete="on">
First name:<input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
E-mail: <input type="email" name="email" autocomplete="off" /><br />
<input type="submit" />
</form>
<p>請填寫並提交此表單,然后重載頁面,來查看自動完成功能是如何工作的。</p>
結果:
6、強大的繪圖功能和多媒體功能
1)canvas 可以動態地繪制各種效果精美的圖形,結合js就能讓網頁圖形動起來
2)SVG 繪制可伸縮的矢量圖形
3)audio和 video 可以不依賴任何插件播放音頻和視頻
7、打造桌面應用的一系列新功能
離線緩存 Web Storage(為HTML5開發移動應用提供了基礎)
傳統的web應用程序中,數據處理都由服務器處理,html只負責展示數據,cookie只能存儲少量的數據,跨域通信只能通過web服務器。
HTML5擴充了文件存儲的能力,多達5MB,支持WebSQL等輕量級數據庫,可以開發支持離線web應用程序。
HTML5 Web Storage API可以看做是加強版的cookie,不受數據大小限制,有更好的彈性以及架構,可以將數據寫入到本機的ROM中,還可以在關閉瀏覽器后再次打開時恢復數據,以減少網絡流量。
同時,這個功能算得上是另一個方向的后台“操作記錄”,而不占用任何后台資源,減輕設備硬件壓力,增加運行流暢性。
8、獲取地理位置信息
新增Geolocation API,可以通過瀏覽器獲取用戶的地理位置,不再需要借助第三方地址數據庫或專業的開發包,提供很大的方便。