您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關html5新增了哪些特性,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
html5新增的特性:1、語義化標簽(header、footer、nav等);2、webStorage儲存機制;3、history對象;4、表單類型(email、tell、date等);5、媒體元素video和audio;6、canvas。
本教程操作環(huán)境:windows7系統(tǒng)、HTML5版、Dell G3電腦。
HTML5 是下一代的 HTML, 將成為 HTML、XHTML 以及 HTML DOM 的新標準。
HTML5 是 W3C
與 WHATWG
合作的結果。
為 HTML5 建立的一些規(guī)則:
新特性應該基于 HTML、CSS、DOM 以及 JavaScript。
減少對外部插件的需求(比如 Flash)
更優(yōu)秀的錯誤處理
更多取代腳本的標記
HTML5 應該獨立于設備
開發(fā)進程應對公眾透明
最新版本的 Chrome、Firefox、Safari以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 將支持某些 HTML5 特性。國內(nèi)的 遨游瀏覽器(Maxthon),以及基于IE或Chromium(Chrome的工程版或稱實驗版)所推出的360瀏覽器、搜狗瀏覽器、QQ瀏覽器、獵豹 瀏覽器等國產(chǎn)瀏覽器同樣具備支持HTML5的能力。
HTML5 中新增的一些有趣的新特性:
1、語義化標簽
header
footer
、 nav
、 aside
、 section
、 meau
、 template
、 article
、 audio
、 video
、 canvas
等
2、webStorage
儲存機制 sessionStorage
和 localStorage
webStorage: 使用HTML5可以在本地存儲用戶的瀏覽數(shù)據(jù)。早些時候,本地存儲使用的是 cookie。但是Web 存儲需要更加的安全與快速,這些數(shù)據(jù)不會被保存在服務器上,但是這些數(shù)據(jù)只用于用戶請求網(wǎng)站數(shù)據(jù)上。它也可以存儲大量的數(shù)據(jù),而不影響網(wǎng)站的性能。數(shù)據(jù)以 鍵/值 對存在, web網(wǎng)頁的數(shù)據(jù)只允許該網(wǎng)頁訪問使用。
Web Storage又分為兩種: sessionStorage 和localStorage ,即這兩個是Storage的一個實例。從字面意思就可以很清楚的看出來,sessionStorage將數(shù)據(jù)保存在session中,瀏覽器關閉也就沒了;而localStorage則一直將數(shù)據(jù)保存在客戶端本地。其API提供的方法有以下幾種:
setItem (key, value) —— 保存數(shù)據(jù),以鍵值對的方式儲存信息。 getItem (key) —— 獲取數(shù)據(jù),將鍵值傳入,即可獲取到對應的value值。 removeItem (key) —— 刪除單個數(shù)據(jù),根據(jù)鍵值移除對應的信息。 clear () —— 刪除所有的數(shù)據(jù) key (index) —— 獲取某個索引的key
localStorage:沒有時間限制的數(shù)據(jù)存儲
localStorage的生命周期是永久性的。假若使用localStorage存儲數(shù)據(jù),即使關閉瀏覽器,也不會讓數(shù)據(jù)消失,除非主動的去刪除數(shù)據(jù),使用的方法如上所示。localStorage有l(wèi)ength屬性,可以查看其有多少條記錄的數(shù)據(jù)。使用方法如下:
var storage = null; //判斷瀏覽器是否支持localStorage if(window.localStorage){ storage.setItem("name", "Rick"); //調(diào)用setItem方法,存儲數(shù)據(jù) alert(storage.getItem("name")); //調(diào)用getItem方法,彈框顯示 name 為 Rick storage.removeItem("name"); //調(diào)用removeItem方法,移除數(shù)據(jù) alert(storage.getItem("name")); //調(diào)用getItem方法,彈框顯示 name 為 null }
sessionStorage:針對一個 session 的數(shù)據(jù)存儲
sessionStorage 的生命周期是在瀏覽器關閉前。也就是說,在整個瀏覽器未關閉前,其數(shù)據(jù)一直都是存在的。sessionStorage也有l(wèi)ength屬性,其基本的判斷和使用方法和localStorage的使用是一致的。需要注意的有以下幾點:
(1) 頁面刷新不會消除數(shù)據(jù);
(2) 只有在當前頁面打開的鏈接,才可以訪sessionStorage的數(shù)據(jù);
(3) 使用window.open打開頁面和改變localtion.href方式都可以獲取到sessionStorage內(nèi)部的數(shù)據(jù);
3、history 對象
history 對象保存著用戶上網(wǎng)的歷史記錄,從窗口被打開的那一刻算起。
使用 go( ) 方法可以在用戶的歷史記錄中任意跳轉,可以向后,也可以向前。
這個方法接受一個參數(shù),表示向后或向前跳轉的頁面數(shù)的一個整數(shù)值。
負數(shù)表示向后跳轉(類似于單機瀏覽器的“后退”按鈕)
正數(shù)表示向前跳轉(類似于單機瀏覽器的“前進”按鈕)
history.go(-1) // 后退一頁 history.go(1) // 前進一頁 history.go(2) // 前進兩頁
還可以給go()方法傳遞一個字符串參數(shù),此時瀏覽器會跳轉到歷史記錄中包含該字符串的第一個位置-----可能前進,也可能后退。具體看哪個位置最近。 如果歷史記錄中不包含該字符串,那么這個方法什么也不做
history.go('wrox.com') // 調(diào)到最近的 wrox.com 頁面
也可以使用兩個簡寫方法 back( ) 和 forward( ) 來代替 go( ) 。這兩個方法都可以模仿瀏覽器的“后退”和“前進”按鈕。
history.back() // 后退一頁 history.forward() // 前進一頁
4、表單元素的升級
傳統(tǒng)的表單元素:form、laber、textarea、select、button...
input(text、password、radio、checkbox、file、submit、reset、button)
Html5給input新增加一些類型(search、email、number、tell、range、color、date)
升級:給表單元素新增加屬性placeholder(給表單元素設置提示信息)
升級:提供了新的下拉框方式
5、多媒體
用于回放的 video 和 audio 元素
6、用于繪畫的 canvas
<canvas>定義圖形,繪制路徑,矩形,圓形,字符以及添加圖像的方法 。
首先創(chuàng)建canvas元素,并規(guī)定元素的id、寬度和高度撒的:
<canvas id="myCanvas" width="200" height="100"></canvas>
然后通過javas來繪制。Canvas元素本身沒有繪圖能力,所有的繪制工作必須在javascript內(nèi)部完成漸變。
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
</script>
JavaScript 使用 id 來尋找 canvas 元素:
var c=document.getElementById("myCanvas");
然后,創(chuàng)建 context 對象:
var cxt=c.getContext("2d");
getContext("2d") 對象是內(nèi)建的 HTML5 對象,擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。
下面的兩行代碼繪制一個紅色的矩形:
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
fillStyle 方法將其染成紅色,fillRect 方法規(guī)定了形狀、位置和尺寸。
下面的兩行代碼繪制一條直線:
cxt.moveTo(100,100);
cxt.lineTo(200,200);
下面的一行代碼是畫一個圓:
cxt.arc(70,18,15,0,Math.PI*2,false);
這些屬性值分別對應的是什么,70,18分別是X軸和Y軸,15是這個圓的半徑,0是角度,Math.PI*2是圓周率,false代表順時針而true是逆時針。
顏色的漸變效果也是可以實現(xiàn)的:
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); var grd=cxt.createLinearGradient(0,0,175,50); grd.addColorStop(0,"#FF0000"); grd.addColorStop(1,"#00FF00"); cxt.fillStyle=grd; cxt.fillRect(0,0,175,50); </script>
還有一些其他效果:
曲線quadraticCurreTo
字體fillText
關于“html5新增了哪些特性”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。