HTML5基礎知識(1)

HTML5 Ruby Safari Opera 石頭自學建站 2017-06-15

現在做前端,如果說自己不會h5,你很有可能被你的客戶嘲笑,說什麼最新技術都不會!h5其實沒什麼,只不過是html技術的進一步發展,主要是增加了一些新的元素而已。

HTML5基礎知識(1)

HTML5 <!DOCTYPE>

<!doctype> 聲明必須位於 HTML5 文檔中的第一行,使用非常簡單,寫法:<!DOCTYPE html>

新特性

HTML5 中的一些有趣的新特性:

用於繪畫的 canvas 元素

用於媒介回放的 video 和 audio 元素

對本地離線存儲的更好的支持

新的特殊內容元素,比如 article、footer、header、nav、section

新的表單控件,比如 calendar、date、time、email、url、search

HTML5 添加了很多語義元素如下所示:

標籤描述
<article>定義頁面獨立的內容區域。
<aside>定義頁面的側邊欄內容。
<bdi>允許您設置一段文本,使其脫離其父元素的文本方向設置。
<command>定義命令按鈕,比如單選按鈕、複選框或按鈕
<details>用於描述文檔或文檔某個部分的細節
<dialog>定義對話框,比如提示框
<summary>標籤包含 details 元素的標題
<figure>規定獨立的流內容(圖像、圖表、照片、代碼等等)。
<figcaption>定義 <figure> 元素的標題
<footer>定義 section 或 document 的頁腳。
<header>定義了文檔的頭部區域
<mark>定義帶有記號的文本。
<meter>定義度量衡。僅用於已知最大和最小值的度量。
<nav>定義導航鏈接的部分。
<progress>定義任何類型的任務的進度。
<ruby>定義 ruby 註釋(中文注音或字符)。
<rt>定義字符(中文注音或字符)的解釋或發音。
<rp>在 ruby 註釋中使用,定義不支持 ruby 元素的瀏覽器所顯示的內容。
<section>定義文檔中的節(section、區段)。
<time>定義日期或時間。
<wbr>規定在文本中的何處適合添加換行符。

HTML5 表單

新表單元素, 新屬性,新輸入類型,自動驗證。

已移除元素

以下的 HTML 4.01 元素在HTML5中已經被刪除:

<acronym> 標記一個首字母縮寫,h5用abbr代替

<applet> 用object代替

<basefont>規定頁面上的默認字體顏色和字號:

<big>呈現大號字體效果。

<center> 這個...這麼常用為什麼去掉??

<dir> 簽定義目錄列表。類似於ul

<font> //這個也是比較常用的,但是取消了

<frame> 標籤定義 frameset 中的一個特定的窗口(框架)

<frameset>定義一個框架集

<noframes> 元素可為那些不支持框架的瀏覽器顯示文本。noframes 元素位於 frameset 元素內部。

<strike>標籤可定義加刪除線文本定義。

HTML5 瀏覽器支持

最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 將支持某些 HTML5 特性。

IE9 以下版本瀏覽器兼容HTML5的方法,使用的靜態資源的html5shiv包:(菜鳥教程)

<!--[if lt IE9]> <script src="http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js"></script> <![endif]-->

載入後,初始化新標籤的CSS:

/*html5*/article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}

HTML 5 視頻

寫法:<video src="movie.ogg" controls="controls" width="320" height="240">文字</video>

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

<video> 與 </video> 之間插入的內容是供不支持 video 元素的瀏覽器顯示的:

注意:要確保適用於 Safari 瀏覽器,視頻文件必須是 MPEG4 類型。所以video 元素允許多個 source 元素

所以寫成:

<video width="320" height="240" controls="controls">

<source src="movie.ogg" type="video/ogg">

<source src="movie.mp4" type="video/mp4">

Your browser does not support the video tag.

</video>

<video> 標籤的屬性

autoplay:值為:autoplay,如果出現該屬性,則視頻在就緒後馬上播放。

controls:值為:controls如果出現該屬性,則向用戶顯示控件,比如播放按鈕。height:pixels設置視頻播放器的高度。

loop:值為:loop,如果出現該屬性,則當媒介文件完成播放後再次開始播放。

preload:值為:preload,如果出現該屬性,則視頻在頁面加載時進行加載,並預備播放。如果使用 "autoplay",則忽略該屬性。

src:值為:url,要播放的視頻的 URL。

width:值為:pixels,設置視頻播放器的寬度。

同時還可以支持dom事件支持:play(),pause(),load(),canPlayType();

HTML 5 音頻

寫法:<audio src="song.ogg" controls="controls">Your browser does not support the audio tag.</audio>

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

<audio> 與 </audio> 之間插入的內容是供不支持 audio 元素的瀏覽器顯示

當前,audio 元素支持三種音頻格式:mp3,mav和ogg,Safari 瀏覽器,音頻文件必須是 MP3 或 Wav 類型。多個 source 元素支持。

<audio> 標籤的屬性

屬性描述
autoplayautoplay如果出現該屬性,則音頻在就緒後馬上播放。
controlscontrols如果出現該屬性,則向用戶顯示控件,比如播放按鈕。
looploop如果出現該屬性,則每當音頻結束時重新開始播放。
preloadpreload如果出現該屬性,則音頻在頁面加載時進行加載,並預備播放。如果使用 "autoplay",則忽略該屬性。
srcurl要播放的音頻的 URL。

HTML 5 拖放

拖放(Drag 和 drop)是 HTML5 標準的組成部分。

draggable="true" 設置元素為可拖放 <img draggable="true" />

ondragstart 和 setData()規定當元素被拖動時,會發生什麼

ondragoverondragover 事件規定在何處放置被拖動的數據。

Ondrop:當放置被拖數據時,會發生 drop 事件。

(說實話真心不好理解,看一下w3c給的案例吧:)

<script type="text/javascript">

function allowDrop(ev)

{ev.preventDefault();}

function drag(ev)

{ev.dataTransfer.setData("Text",ev.target.id);//方法設置被拖數據的數據類型和值:

}

function drop(ev)

{

ev.preventDefault();//阻止對元素的默認處理方式,默認不接受拖拽元素的

var data=ev.dataTransfer.getData("Text");//獲得被拖的數據

ev.target.appendChild(document.getElementById(data));//放置進去

}

</script>

<div id="div1" ondrop="drop(event)"ondragover="allowDrop(event)"></div>

<img id="drag1" src="img_logo.gif" draggable="true"ondragstart="drag(event)" width="336" height="69" />

這個拖拽看起來比較費勁,一般我們也用不到,大家可以先收藏起來,如果需要用到的時候,再返回來直接套用案例!

未完待續.....

看不懂沒關係,多用幾次,平時寫網頁的時候,可以慢慢的增加使用h5標籤,因為除了ie8一下,大部分瀏覽器還是可以支持的!本教程是結合了w3c,菜鳥教程,慕課網的內容總結的,如果不妥多多指教!

HTML5基礎知識(1)

相關推薦

推薦中...