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 引進的主要特性:
新的語意化元素: 例如
表單 2.0: 改進了 HTML Web 表單,為 標籤引入了一些新的屬性。
持久的本地儲存: 為了不透過第三方外掛程式實現。
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:
上述文法不區分大小寫。
字元編碼
HTML5 作者可以使用簡單的語法指定字元編碼,如下所示:
>
src
=
=
HTML5 移除了所需的額外信息,我們可以使用如下所示的簡單語法:
HTML5 標籤名稱不區分大小寫,可以全部大寫或混合使用,雖然最常見的約定是始終使用小寫。
大多數元素都包含一些內容,例如
...
包含一個段落。但是,有些元素不能包含任意內容,它們被稱為空白元素。例如,br,hr,link 和 meta 等等。HTML5 文件
為了得到更好的結構,引入了下面的標籤:
section: 這個標籤表示一個通用的文件或應用程式節。它可以和 h1-h6 一起使用來表示文檔結構。
article: 這個標籤表示文檔內容的一個獨立區塊,例如部落格條目或報紙上的文章。
aside: 這個標籤表示與頁面其他部分略微相關的內容區塊。
header: 這個標籤表示一個節的頭部。
footer: 這個標籤表示一個節的腳註,可以包含作者,版權等資訊。
nav: 這個標籤表示用來導覽文件的節。
dialog: 這個標籤可以用來標記會話。
figure: 這個標籤可以用來關聯標題和某些嵌入內容,例如圖表和影片。
一個 HTML5 文件的標記看起來就像下面這樣: