HTML5你必須知道的28個新特性


HTML5有很多的新功能.新代碼.非常不錯.現在總結一下.僅供參考

1. 新的Doctype

儘管使用<!DOCTYPE html>,即使瀏覽器不懂這句話也會按照標準模式去渲染

2. Figure元素

<figure><figcaption>來語義化地表示帶標題的圖片

<figure>

<img src=path/to/p_w_picpath alt=About p_w_picpath/>

<figcaption>

<p>This is an p_w_picpath of somethinginteresting. </p>

</figcaption>

</figure>

3. 重新定義的<small>

<small>已經被重新定義了,現在被用來表示小的排版,如網站底部的版權聲明

4. 去掉linkscript標籤裏面的type屬性

5. /不加 括號

HTML5沒有嚴格的要求屬性必須加引號,閉合不閉合,但是建議加上引號和閉合標籤

6. 讓你的內容可編輯,只需要加一個contenteditable屬性

7. Email Inputs

如果我們給Inputtype設置爲email,瀏覽器就會驗證這個輸入是否是email類型,當然不能只依賴前端的校驗,後端也得有相應的校驗

8. Placeholders

這個input屬性的意義就是不必通過javascript來做placeholder的效果了

9. Local Storage

使用Local Storage可以永久存儲大的數據片段在客戶端(除非主動刪除),目前大部分瀏覽器已經支持,在使用之前可以檢測一下window.localStorage是否存在

10. 語義化的headerfooter

11. 更多的HTML5表單特性

12. IEHTML5

默認的,HTML5新元素被以inline的方式渲染,不過可以通過下面這種方式讓

其以block方式渲染

header, footer, article, section, nav,menu, hgroup {

display: block;

}

不幸的是IE會忽略這些樣式,可以像下面這樣fix:

document.createElement(article);

document.createElement(footer);

document.createElement(header);

document.createElement(hgroup);

document.createElement(nav);

document.createElement(menu);

13. hgroup

一般在header裏面用來將一組標題組合在一起,如

<header>

<hgroup>

<h1> Recall Fan Page </h1>

<h2> Only for people who want thememory of a lifetime. </h2>

</hgroup>

</header>

14. Required屬性

required屬性定義了一個input是否是必須的,你可以像下面這樣聲明

<input type=text name=someInputrequired>

或者

<input type=text name=someInput required=required>

15. Autofocus屬性

正如它的詞義,就是聚焦到輸入框裏面

<input type=text name=someInputplaceholder=Douglas Quaid required autofocus>

16. Audio支持

HTML5提供了<audio>標籤,你不需要再按照第三方插件來渲染音頻,大多數現代瀏覽器提供了對於HTML5 Audio的支持,不過目前仍舊需要提供一些兼容處理,如

<audio autoplay=autoplay controls=controls>

<source src=file.ogg /><!FF>

<source src=file.mp3 /><!Webkit>

<a href=file.mp3>Downloadthis file.</a>

</audio>

17. Video支持

Audio很像,<video>標籤提供了對於video的支持,由於HTML5文檔並沒有給video指定一個特定的編碼,所以瀏覽器去決定要支持哪些編碼,導致了很多不一致。SafariIE支持H.264編碼的格式,FirefoxOpera支持TheoraVorbis 編碼的格式,當使用HTML5 video的時候,你必須都提供:

<video controls preload>

<source src=cohagenPhoneCall.ogv type=video/ogg;codecs=vorbis, theora’” />

<source src=cohagenPhoneCall.mp4 type=video/mp4; codecs=avc1.42E01E,mp4a.40.2′” />

<p> Your browser is old. <a href=cohagenPhoneCall.mp4>Downloadthis video instead.</a> </p>

</video>

18. 預加載視頻

preload屬性就像它的字面意思那麼簡單,你需要決定是否需要在頁面加載的時候去預加載視頻

<video preload>

19. 顯示視頻控制

<video preload controls>

20. 正則表達式

由於pattern屬性,我們可以在你的markup裏面直接使用正則表達式了

<form action="method=post>

<label for=username>Create aUsername: </label>

<input type=text name=username id=usernameplaceholder=4 <> 10 pattern=[A-Za-z]{4,10} autofocus required>

<button type=submit>Go</button>

</form>

21. 檢測屬性支持

除了Modernizr之外我們還可以通過javascript簡單地檢測一些屬性是否支持,如:

<script>

if (!pattern indocument.createElement(input) ) {

// do client/server side validation

}

</script>

22. Mark元素

<mark>元素看做是高亮的作用,當我選擇一段文字的時候,javascript對於HTMLmarkup效果應該是這樣的:

<h3> Search Results </h3>

<p> They were interrupted, just afterQuato said, <mark>Open your Mind</mark>. </p>

23. 什麼時候用<div>

HTML5已經引入了這麼多元素,那麼div我們還要用嗎?div你可以在沒有更好的元素的時候去用。

24. 想立即使用HTML5?

不要等2022了,現在就可以使用了,just do it.

25. 哪些不是HTML5

1)SVG

2)CSS3

3)Geolocation

4)Client Storage

5)Web Sockets

26. Data屬性

<div id=myDivdata-custom-attr=My Value> Bla Bla </div>

CSS中使用:

<style>

h1:hover:after {

content: attr(data-hover-response);

color: black;

position: absolute;

left: 0;

}

</style>

<h1 data-hover-response=I Said Dont Touch Me!> Dont Touch Me</h1>

27. Output元素

<output>元素用來顯示計算結果,也有一個和label一樣的for屬性

28. Range Input來創建滑塊

HTML5引用的range類型可以創建滑塊,它接受min,max, stepvalue屬性

可以使用css:before:after來顯示minmax的值

<input type=range name=range min=0 max=10 step=1 value=">

input[type=range]:before { content:attr(min); padding-right: 5px;

}

input[type=range]:after { content:attr(max); padding-left: 5px;}

 

H5適合移動端開發的幾大特性:

http://www.cnblogs.com/zhouto/p/4170548.html

(1)離線緩存

(2)音頻視頻自由嵌入

(3)地理定位

(4)Canvas繪圖

(5)更豐富的移動端表單元素

(6)支持CSS3交互方式

(7)實時通訊

(8)檔案以及硬件支持

(9)語義化(提高搜索引擎的搜索效率)

(10)安卓和IOS雙平臺開發一套代碼(節省成本,便於維護)

 

H5畫布和地理位置:

http://jingyan.baidu.com/article/20b68a886db512796cec62a9.html

 

H5本地存儲:

https://www.douban.com/note/510331750/

http://www.zzfriend.com/edu/201503/00000017.html

 

HTML5離線存儲和本地緩存:

http://www.cnblogs.com/xqhppt/p/4157862.html

http://www.codeceo.com/article/html5-cache.html

 

h5調用本地APP:

http://www.thinksaas.cn/topics/0/491/491730.html

 

常用的移動端框架:

SUI mobile:

http://m.sui.taobao.org/components/

 

Bootstrap:

http://www.bootcss.com/

 

Jquery mobile(建議逐漸摒棄)、framework7。。。。。。

 

Javascript庫:

10個頂級Web移動開發JS框架:

http://www.open-open.com/news/view/64f09b/

 

Zepto.jsSUI mobile框架就是基於Zepto.js這個javascript,如果要同時用jquery源文件那麼需要對jquery$進行重新定義,比如用jq來代替$進行查找,否則會衝突】(Zepto 是隻針對移動端瀏覽器編寫,因此體積更小、效率更高,更重要的是,它的 API 完全仿照 jQuery,所以學習成本也很低。因爲jQuery 的目標是兼容所有主流瀏覽器,這就意味着它的大量代碼對移動端的瀏覽器是無用或者低效的。Zepto.js在移動端用的很多,但有的地方還是沒有jquery那麼好用的,有以下一些不成熟的地方需要注意---

http://blog.163.com/litianyichuanqi@126/blog/static/115979441201421910275988/

  

HTML5+CSS3視頻教程:

http://edu.51cto.com/course/course_id-3148.html

 

Bootstrap框架視頻教程:

http://edu.51cto.com/course/course_id-3237.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章