Html5 概述
Html5 是 HTML 標准的下一個重要版本,用來替代 HTML 4.01,XHTML 1.0 以及 XHTML 1.1。Html5 也是一種在萬維網上構建和呈現內容的標准。
Html5 是萬維網聯盟(W3C)和網頁超文本技術工作小組(WHATWG)合作的產物。
這一新標准中加入了視頻播放和拖放等特性,過去這都依賴於第三方浏覽器插件,比如 Adobe Flash,Microsoft Silverlight 以及 Google Gears。
浏覽器支持
最新版 Apple Safari,Mozilla Firefox 和 Opera 支持大部分 Html5 特性,IE9 也支持一些 Html5 的功能。
預裝在 iPhones,iPads 和 android 手機上的手機浏覽器都對 Html5 有良好的支持。
新特性
Html5 引入了許多新元素和屬性幫助我們構建現代化的網站。下面是 Html5 引入的主要特性:
新的語義化元素: 比如 <header>,<footer> 和 <section>。
表單 2.0: 改進了 Html Web 表單,為 <input> 標簽引入了一些新的屬性。
持久的本地存儲: 為了不通過第三方插件實現。
WebSocket: 用於 Web 應用程序的下一代雙向通信技術。
服務器推送事件: Html5 引入了從 Web 服務器到 Web 浏覽器的事件,也被稱作服務器推送事件(SSE)。
Canvas: 支持用 JavaScript 以編程的方式進行二維繪圖。
音頻和視頻: 在網頁中嵌入音頻或視頻而無需借助第三方插件。
地理定位: 用戶可以選擇與我們的網頁共享他們的地理位置。
微數據: 允許我們創建 Html5 之外的自定義詞匯表,以及使用自定義語義擴展網頁。
拖放: 把同一網頁上的條目從一個位置拖放到另一個位置。
向後兼容
Html5 被設計為盡可能的對現有浏覽器向後兼容。新特性都是建立在現有特性的基礎上,並且允許我們為舊浏覽器提供備用內容。
建議使用少量的 JavaScript 代碼檢測單個 Html5 特性的支持度。
Html5 語法
Html5 有“自己的” HTML 語法,它與已經發布在網絡上的 HTML 4 以及 XHTML1 文檔兼容,但是不兼 Html 4 中更復雜的 SGML 特性。
Html5 並沒有 XHtml 中需要小寫標簽名,屬性要帶引號,屬性必須有一個值以及必須閉合所有空元素的語法規則。
但是 Html5 更具靈活性,支持下列形式:
標簽名大寫。
屬性的雙引號可選。
屬性值可選。
閉合空元素可選。
DOCTYPE
在老版本的 HTML 中,DOCTYPE 很長,因為 Html 語言是基於 SGML 的,需要引用一個 DTD。
Html5 作者可以使用簡單的語法來指定如下形式的 DOCTYPE:
XML/Html Code復制內容到剪貼板上述語法不區分大小寫。
字符編碼
Html5 作者可以使用簡單的語法指定字符編碼,如下所示:
上述語法不區分大小寫。
<script> 標簽
常見的做法是給 script 元素添加一個值為 "text/Javascript" 的 type 屬性,如下所示:
Html5 移除了所需的額外信息,我們可以使用如下所示的簡單語法:
XML/Html Code復制內容到剪貼板<link> 標簽
目前為止我們這樣編寫 <link>:
Html5 移除了所需的額外信息,我們可以使用如下所示的簡單語法:
XML/Html Code復制內容到剪貼板Html5 元素
Html5 元素使用起始標簽和結束標簽標記。標簽使用尖括號之間的標簽名限定。
起始標簽和結束標簽的區別在於後者標簽名前面包含一個斜槓。
下面是一個 Html5 元素示例:
XML/Html Code復制內容到剪貼板Html5 標簽名不區分大小寫,可以全部大寫或者混合使用,雖然最常見的約定是始終使用小寫。
大多數元素都包含一些內容,比如 <p>...</p> 包含一個段落。但是,有些元素不能包含任意內容,它們被稱作空白元素。比如,br,hr,link 和 meta 等等。
Html5 文檔
為了得到更好的結構,引入了下面的標簽:
section: 這個標簽表示一個通用的文檔或者應用程序節。它可以和 h1-h6 一起使用來表示文檔結構。
article: 這個標簽表示文檔內容的一個獨立塊,比如博客條目或者報紙上的文章。
aside: 這個標簽表示與頁面其他部分略微相關的內容塊。
header: 這個標簽表示一個節的頭部。
footer: 這個標簽表示一個節的腳注,可以包含作者,版權等信息。
nav: 這個標簽表示用於導航文檔的節。
dialog: 這個標簽可以用於標記會話。
figure: 這個標簽可以用於關聯標題和某些嵌入內容,比如圖表和視頻。
一個 Html5 文檔的標記看起來就像下面這樣: