HTML5的幾大新特性

爲了更好地處理今天的互聯網應用,HTML5添加了不少新元素及功能,好比: 圖形的繪製,多媒體內容,更好的頁面結構,更好的形式 處理,和幾個api拖放元素,定位,包括網頁 應用程序緩存,存儲,網絡工做者等web

一、語義標籤化正則表達式

語義化標籤使得頁面的內容結構化,見名知義canvas

標籤  描述
 <hrader></header>  定義了文檔的頭部區域
 <footer></footer>  定義了文檔的尾部區域
<nav></nav> 定義文檔的導航
 <section></section>  定義文檔中的節(section、區段)
 <article></article>  定義頁面獨立的內容區域
<aside></aside> 定義頁面的側邊欄內容
<detailes></detailes> 用於描述文檔或文檔某個部分的細節
<summary></summary> 標籤包含 details 元素的標題
<dialog></dialog> 定義對話框,好比提示框

二、加強型表單api

HTML5 擁有多個新的表單 Input 輸入類型。這些新特性提供了更好的輸入控制和驗證瀏覽器

輸入類型緩存

描述

color安全

主要用於選取顏色

date服務器

從一個日期選擇器選擇一個日期

datetimecookie

選擇一個日期(UTC 時間)

datetime-local網絡

選擇一個日期和時間 (無時區)

email

包含 e-mail 地址的輸入域

month

選擇一個月份

number

數值的輸入域

range

必定範圍內數字值的輸入域

search

用於搜索域

tel

定義輸入電話號碼字段

time

選擇一個時間

url

 URL 地址的輸入域

week

選擇周和年

HTML5 新增的表單屬性

placehoder 屬性,簡短的提示在用戶輸入值前會顯示在輸入域上。即咱們常見的輸入框默認提示,在用戶輸入後消失。

required  屬性,是一個 boolean 屬性。要求填寫的輸入域不能爲空

pattern 屬性,描述了一個正則表達式用於驗證<input> 元素的值。

min 和 max 屬性,設置元素最小值與最大值。

step 屬性,爲輸入域規定合法的數字間隔。

height 和 width 屬性,用於 image 類型的 <input> 標籤的圖像高度和寬度。

autofocus 屬性,是一個 boolean 屬性。規定在頁面加載時,域自動地得到焦點。

multiple 屬性 ,是一個 boolean 屬性。規定<input> 元素中可選擇多個值

三、視頻和音頻

HTML5 提供了播放音頻文件的標準,即便用 <audio> 元素

<audio controls>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
您的瀏覽器不支持 audio 元素。
</audio>

control 屬性供添加播放、暫停和音量控件。

 在<audio> 與 </audio> 之間你須要插入瀏覽器不支持的<audio>元素的提示文本 。

 <audio> 元素容許使用多個 <source> 元素. <source> 元素能夠連接不一樣的音頻文件,瀏覽器將使用第一個支持的音頻文件

 目前, <audio>元素支持三種音頻格式文件: MP3, Wav, 和 Ogg

HTML5 規定了一種經過 video 元素來包含視頻的標準方法

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
您的瀏覽器不支持Video標籤。
</video>

control 提供了 播放、暫停和音量控件來控制視頻。也可使用dom操做來控制視頻的播放暫停,如 play() 和 pause() 方法。

同時 video 元素也提供了 width 和 height 屬性控制視頻的尺寸.若是設置的高度和寬度,所需的視頻空間會在頁面加載時保留。若是沒有設置這些屬性,瀏覽器不知道大小的視頻,瀏覽器就不能再加載時保留特定的空間,頁面就會根據原始視頻的大小而改變。

與 標籤之間插入的內容是提供給不支持 video 元素的瀏覽器顯示的。

video 元素支持多個source 元素. 元素能夠連接不一樣的視頻文件。瀏覽器將使用第一個可識別的格式( MP4, WebM, 和 Ogg)

四、Canvas繪圖

SVG 與 Canvas二者間的區別

  SVG 是一種使用 XML 描述 2D 圖形的語言。

  Canvas 經過 JavaScript 來繪製 2D 圖形。

  SVG 基於 XML,這意味着 SVG DOM 中的每一個元素都是可用的。您能夠爲某個元素附加 JavaScript 事件處理器。

  在 SVG 中,每一個被繪製的圖形均被視爲對象。若是 SVG 對象的屬性發生變化,那麼瀏覽器可以自動重現圖形。

  Canvas 是逐像素進行渲染的。在 canvas 中,一旦圖形被繪製完成,它就不會繼續獲得瀏覽器的關注。若是其位置發生變化,那麼整個場景也須要從新繪製,包括任何或許已被圖形覆蓋的對象。

五、地理位置

HTML5 Geolocation(地理定位)用於定位用戶的位置。

window.navigator.geolocation {
    getCurrentPosition:  fn  用於獲取當前的位置數據
    watchPosition: fn  監視用戶位置的改變
    clearWatch: fn  清除定位監視
}   

六、拖放API

拖放是一種常見的特性,即抓取對象之後拖到另外一個位置。在 HTML5 中,拖放是標準的一部分,任何元素都可以拖放。

拖放的源對象(可能發生移動的)能夠觸發的事件——3個

dragstart:拖動開始

drag:拖動中

dragend:拖動結束

整個拖動過程的組成: dragstart*1 + drag*n + dragend*1

 

拖放目標對象(不會發生移動)能夠觸發的事件——4個

dragenter:拖動着進入

dragover:拖動着懸停

dragleave:拖動着離開

drop:釋放

整個拖動過程的組成1: dragenter*1 + dragover*n + dragleave*1

整個拖動過程的組成2: dragenter*1 + dragover*n + drop*1

拖放的過程分爲源對象和目標對象。源對象是指你即將拖動元素,而目標對象則是指拖動以後要放置的目標位置

七、Web Worker

八、Web Storage

使用HTML5能夠在本地存儲用戶的瀏覽數據。早些時候,本地存儲使用的是cookies。可是Web 存儲須要更加的安全與快速. 這些數據不會被保存在服務器上,可是這些數據只用於用戶請求網站數據上.它也能夠存儲大量的數據,而不影響網站的性能。數據以 鍵/值 對存在, web網頁的數據只容許該網頁訪問使用。

客戶端存儲數據的兩個對象爲:

localStorage - 沒有時間限制的數據存儲

sessionStorage - 針對一個 session 的數據存儲, 當用戶關閉瀏覽器窗口後,數據會被刪除。

在使用 web 存儲前,應檢查瀏覽器是否支持 localStorage 和sessionStorage

相關文章
相關標籤/搜索