語義化標籤 爲頁面提供了更好的頁面結構。javascript
描述 | 屬性 |
<header></header> | 定義文檔的頭部區域 |
<footer></footer> | 定義文檔的尾部區域 |
<nav></nav> | 定義文檔的導航區域 |
<section></section> | 定義文檔的段落 |
<article></article> | 定義頁面獨立的內容區域 |
<aside></aside> | 定義頁面側邊欄內容 |
<command></command> | 定義命令按鈕 |
<details></details> | 標籤包含 details 元素的標題 |
<dialog></dialog> | 定義對話框 |
HTML5 提供了多個新的表單輸入類型。html
輸入類型 | 描述 |
color | 主要用於選取顏色 |
date | 從一個日期選擇器選擇一個日期 |
datetime | 選擇一個日期(UTC 時間) |
datetime-local | 選擇一個日期和時間 (無時區) |
包含 e-mail 地址的輸入域 | |
month | 選擇一個月份 |
number | 數值的輸入域 |
range | 必定範圍內數字值的輸入域 |
search | 用於搜索域 |
tel | 定義輸入電話號碼字段 |
time | 選擇一個時間 |
url | URL 地址的輸入域 |
week | 選擇周和年 |
同時,還增長了新的表單屬性:java
一、placehoder 屬性,簡短的提示在用戶輸入值前會顯示在輸入域上。即咱們常見的輸入框默認提示,在用戶輸入後消失。git
二、required 屬性,是一個 boolean 屬性。要求填寫的輸入域不能爲空web
三、pattern 屬性,描述了一個正則表達式用於驗證<input> 元素的值。正則表達式
四、min 和 max 屬性,設置元素最小值與最大值。canvas
五、step 屬性,爲輸入域規定合法的數字間隔。瀏覽器
六、height 和 width 屬性,用於 image 類型的 <input> 標籤的圖像高度和寬度。服務器
七、autofocus 屬性,是一個 boolean 屬性。規定在頁面加載時,域自動地得到焦點。websocket
八、multiple 屬性 ,是一個 boolean 屬性。規定<input> 元素中可選擇多個值。
HTML5 提供了 音頻和視頻 。
音頻:<audio>
<audio controls> <source src="xxx.ogg" type="audio/ogg"> <source src="xxx.mp3" type="audio/mpeg"> 您的瀏覽器不支持 audio 元素。 </audio>
視頻:<video>
<video width="500" height="300" controls> <source src="xxx.mp4" type="video/mp4"> <source src="xxx.ogg" type="video/ogg"> 您的瀏覽器不支持Video標籤。 </video>
標籤只是圖形容器,必須使用腳原本繪製圖形。
SVG是指可伸縮的矢量圖形
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 清除定位監視
}
獲取用戶定位信息:
navigator.geolocation.getCurrentPosition( function(pos){ console.log('用戶定位數據獲取成功') //console.log(arguments); console.log('定位時間:',pos.timestamp) console.log('經度:',pos.coords.longitude) console.log('緯度:',pos.coords.latitude) console.log('海拔:',pos.coords.altitude) console.log('速度:',pos.coords.speed) }, //定位成功的回調 function(err){ console.log('用戶定位數據獲取失敗') //console.log(arguments); } //定位失敗的回調 )
在 HTML5 中,拖放是標準的一部分,任何元素都可以拖放
使用HTML5能夠在本地存儲用戶的瀏覽數據。
客戶端存儲數據的兩個對象爲:
localStorage :沒有時間限制的數據存儲
sessionStorage : 針對一個 session 的數據存儲, 當用戶關閉瀏覽器窗口後,數據會被刪除。
不論是 localStorage,仍是 sessionStorage,可以使用的API都相同,經常使用的有以下幾個(以localStorage爲例):
一、保存數據:localStorage.setItem(key,value);
二、讀取數據:localStorage.getItem(key);
三、刪除單個數據:localStorage.removeItem(key);
四、刪除全部數據:localStorage.clear();
五、獲得某個索引的key:localStorage.key(index);
WebSocket 是HTML5開始提供的一種在單個 TCP 鏈接上進行全雙工通信的協議。
在WebSocket API中,瀏覽器和服務器只須要作一個握手的動做,而後,瀏覽器和服務器之間就造成了一條快速通道。
二者之間就直接能夠數據互相傳送。
瀏覽器經過 JavaScript 向服務器發出創建 WebSocket 鏈接的請求,鏈接創建之後,客戶端和服務器端就能夠經過 TCP 鏈接直接交換數據。
當你獲取 Web Socket 鏈接後,你能夠經過 send() 方法來向服務器發送數據,並經過 onmessage 事件來接收服務器返回的數據。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>W3Cschool教程(w3cschool.cn)</title> <script type="text/javascript"> function WebSocketTest() { if ("WebSocket" in window) { alert("您的瀏覽器支持 WebSocket!"); // 打開一個 web socket var ws = new WebSocket("ws://localhost:9998/echo"); ws.onopen = function() { // Web Socket 已鏈接上,使用 send() 方法發送數據 ws.send("發送數據"); alert("數據發送中..."); }; ws.onmessage = function (evt) { var received_msg = evt.data; alert("數據已接收..."); }; ws.onclose = function() { // 關閉 websocket alert("鏈接已關閉..."); }; } else { // 瀏覽器不支持 WebSocket alert("您的瀏覽器不支持 WebSocket!"); } } </script> </head> <body> <div id="sse"> <a href="javascript:WebSocketTest()">運行 WebSocket</a> </div> </body> </html>