什麼是H5?

weixin_34104341發表於2020-04-07

總聽到很多人說H5,現在H5很火,到底H5是什麼,以下發表個人對H5的理解。

HTML5 將成為 HTML、XHTML 以及 HTML DOM 的新標準。

HTML 的上一個版本誕生於 1999 年。自從那以後,Web 世界已經經歷了鉅變。

HTML5 仍處於完善之中。然而,大部分現代瀏覽器已經具備了某些 HTML5 支援。

設計目的

  HTML5的設計目的是為了在移動裝置上支援多媒體。新的語法特徵被引進以支援這一點,如video、audio和canvas 標記。
  HTML5還引進了新的功能,可以真正改變使用者與文件的互動方式,包括:
  1. · 新的解析規則增強了靈活性
  2. · 新屬性
  3. · 淘汰過時的或冗餘的屬性
  4. · 一個HTML5文件到另一個文件間的拖放功能
  5. · 離線編輯
  6. · 資訊傳遞的增強
  7. · 詳細的解析規則
  8. · 多用途網際網路郵件擴充套件(MIME)和協議處理程式註冊
  9. · 在SQL資料庫中儲存資料的通用標準(Web SQL)

HTML5在2007年被全球資訊網聯盟(W3C)新的工作組採用。這個工作組在2008年1月釋出了HTML 5的首個公開草案。眼下,HTML5處於“呼籲審查”狀態,W3C預期它將在2014年年底達到其最終狀態。

特性:

語義特性(Class:Semantic)

  HTML5賦予網頁更好的意義和結構。更加豐富的標籤將隨著對RDFa的,微資料與微格式等方面的支援,構建對程式、對使用者都更有價值的資料驅動的Web。
本地儲存特性(Class: OFFLINE & STORAGE)
  基於HTML5開發的網頁APP擁有更短的啟動時間,更快的聯網速度,這些全得益於HTML5 APP Cache,以及本地儲存功能。Indexed DB(html5本地儲存最重要的技術之一)和API說明文件。
裝置相容特性 (Class: DEVICE ACCESS)
  從Geolocation功能的API文件公開以來,HTML5為網頁應用開發者們提供了更多功能上的優化選擇,帶來了更多體驗功能的優勢。HTML5提供了前所未有的資料與應用接入開放介面。使外部應用可以直接與瀏覽器內部的資料直接相連,例如視訊影音可直接與microphones及攝像頭相聯。
 
連線特性(Class: CONNECTIVITY)
  更有效的連線工作效率,使得基於頁面的實時聊天,更快速的網頁遊戲體驗,更優化的線上交流得到了實現。HTML5擁有更有效的伺服器推送技術,Server-Sent Event和WebSockets就是其中的兩個特性,這兩個特效能夠幫助我們實現伺服器將資料“推送”到客戶端的功能。
網頁多媒體特性(Class: MULTIMEDIA)
  支援網頁端的Audio、Video等多媒體功能, 與網站自帶的APPS,攝像頭,影音功能相得益彰。
三維、圖形及特效特性(Class: 3D, Graphics & Effects)
  基於SVG、Canvas、WebGL及CSS3的3D功能,使用者會驚歎於在瀏覽器中,所呈現的驚人視覺效果。
效能與整合特性(Class: Performance & Integration)
  沒有使用者會永遠等待你的Loading——HTML5會通過XMLHttpRequest2等技術,解決以前的跨域等問題,幫助您的Web應用和網站在多樣化的環境中更快速的工作。
CSS3特性(Class: CSS3)
  在不犧牲效能和語義結構的前提下,CSS3中提供了更多的風格和更強的效果。此外,較之以前的Web排版,Web的開放字型格式(WOFF)也提供了更高的靈活性和控制性。
 

新元素

  為了更好地處理今天的網際網路應用,HTML5新增了很多新元素及功能,比如: 圖形的繪製,多媒體內容,更好的頁面結構,更好的形式 處理,和幾個api拖放元素,定位,包括網頁 應用程式快取,儲存,網路工作者,等。

canvas

標籤
描述
<canvas>
標籤定義圖形,比如圖表和其他影像。該標籤基於 JavaScript 的繪圖 API

多媒體

標籤
描述
<audio>
定義音訊內容
<video>
定義視訊(video 或者 movie)
<source>
定義多媒體資源 <video> 和 <audio>
<embed>
定義嵌入的內容,比如外掛。
<track>
為諸如 <video> 和 <audio> 元素之類的媒介規定外部文字軌道。

表單

標籤
描述
<datalist>
定義選項列表。請與 input 元素配合使用該元素,來定義 input 可能的值。
<keygen>
規定用於表單的金鑰對生成器欄位。
<output>
定義不同型別的輸出,比如指令碼的輸出。

語義和結構

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>
規定在文字中的何處適合新增換行符。

已移除元素

以下的 HTML 4.01 元素在HTML5中已經被刪除:
  • <acronym>
  • <applet>
  • <basefont>
  • <big>
  • <center>
  • <dir>
  • <font>
  • <frame>
  • <frameset>
  • <noframes>
  • <strike>

技術要點

編輯

重要標記

<video>標記
定義和用法:
</video> 標籤定義視訊,比如電影片段或其他視訊流
<audio> 標記
定義和用法
</audio> 標籤定義聲音,比如音樂或其他音訊流
例項:
一段簡單的HTML5 音訊
<audio src="">
您的瀏覽器不支援 audio 標籤。
</audio>
<canvas> 標記
定義和用法:
<canvas> 標籤定義圖形,比如圖表和其他影像。
HTML5 的 canvas 元素使用JavaScript 在網頁上繪製影像。
畫布是一個矩形區域,您可以控制其每一畫素。
canvas 擁有多種繪製路徑、矩形、圓形、字元以及新增影像的方法。
例項:
通過 canvas 元素來顯示一個紅色的矩形:
<canvas id="myCanvas"></canvas>
<script type="text/javascript">
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
</script>

程式介面

除了原先的DOM介面,HTML5增加了更多API,如:
1. 用於即時2D繪圖的Canvas標籤
2. 定時媒體回放
3. 離線資料庫儲存
5. 拖拽控制
6. 瀏覽歷史管理

元素變化

新的解析順序新的元素:section, video, progress, nav, meter, time, aside, canvasinput
元素的新屬性:日期和時間,email, url。
新的通用屬性:ping, charset, async
全域屬性:id, tabindex, repeat。
移除元素:center, font, strike。

控制元件

就是Html標註的屬性里加上runat="server"所構成的控制元件,至於Html標註和Html控制元件之間的區別很明顯,Html控制元件是執行於伺服器端,Html標註是執行於客戶端。
基本Html控制元件有:HtmlTexArea\HtmlTable\HtmlImage\HtmlButton\HtmlSelect\HtmlForm\HtmlInput。
自定義的Html控制元件是根據自己的需求定義。當自主開發效率低,可以從技術社群、原始碼網站下載需要的控制元件。比如,需要插入table, image, links 等標籤。不必自己開發,可以使用:ComponentOne Wijmo Editor等。
免費HTML5圖表庫——.Net圖表控制元件Chart FX,深受大家喜愛,相信大家已經非常熟悉了。而且還從Chart FX的開發商SoftwareFX獲得一個激動人心的訊息:該公司已推出一套為HTML5,jQuery和JavaScript開發者設計的圖表庫——jChartFX,而且jChartFX是免費的!

圖表庫

.Net圖表控制元件Chart FX相信大家已經非常熟悉了。Chart FX的開發商SoftwareFX推出的一套為HTML5、jQuery和JavaScript開發者設計的免費HTML5圖表庫——jChartFX!
jChartFX亮點:
  1. jChartFX充分利用了HTML5,CSS和SVG,讓您能夠在瀏覽器提供美觀優越的圖表和更豐富的終端使用者體驗。
  2. jChartFX擁有很多令人振奮的功能,它在無外掛純JavaScript的瀏覽器上執行,這意味著在提高了網站安全性和速度的同時,最大程度的減少了網站伺服器的負荷。
  3. jChartFX還能夠自動整合到jQuery UI ThemeRoller,自動讀取並解釋jQuery的主題和CSS檔案,能夠快速適應您的頁面佈局和設計,無需一行程式碼。
  4. jChartFX支援JSON,JSON能夠幫助您實現,任何資料來源中的資料都可以展現到圖表中。
  5. jChartFX還支援超過40種的2D、3D圖表型別,免費的圖表控制元件中支援如此之多的圖表展示型別實屬難得。

標籤

注:在下面表格中4: 指在HTML 4.01 中定義了該元素 5: 指在HTML 5 中定義了該元素
按字母順序排列的標籤列表
標籤
描述
 
<!--...-->
定義註釋
4
5
定義文件型別
4
5
<a>
定義超連結
4
5
<abbr>
定義縮寫
4
5
HTML 5 中不支援
4
 
<address>
定義地址元素
4
5
<applet>
定義 applet(HTML 5 中不支援)
4
 
<area>
定義影像對映中的區域
4
5
<article>
定義 article
 
5
<aside>
定義頁面內容之外的內容
 
5
<audio>
定義聲音內容
 
5
<b>
定義粗體文字
4
5
<base>
定義頁面中所有連結的基準URL
4
5
HTML 5 中不支援,請使用CSS 代替
4
 
<bdo>
定義文字顯示的方向
4
5
<big>
定義大號文字(HTML 5 中不支援)
4
 
<blockquote>
定義長的引用
4
5
<body>
定義 body 元素
4
5
<br>
插入換行符
4
5
<button>
定義按鈕
4
5
<canvas>
定義圖形
 
5
<caption>
定義表格標題
4
5
<center>
定義居中的文字(HTML 5 中不支援)
4
 
<cite>
定義引用
4
5
<code>
定義計算機程式碼文字
4
5
<col>
定義表格列的屬性
4
5
<colgroup>
定義表格列的分組
4
5
<command>
定義命令按鈕
 
5
<datalist>
定義下拉選單
 
5
<dd>
定義定義的描述
4
5
<del>
定義刪除文字
4
5
<details>
定義元素的細節
 
5
<dfn>
定義定義專案
4
5
<dir>
定義目錄列表(HTML 5 中不支援)
4
 
<div>
定義文件中的一個部分
4
5
<dl>
定義定義列表
4
5
<dt>
定義定義的專案
4
5
<em>
定義強調文字
4
5
<embed>
定義外部互動內容或外掛
 
5
<fieldset>
定義 fieldset
4
5
<figcaption>
定義 figure 元素的標題
 
5
<figure>
定義媒介內容的分組,以及它們的標題
 
5
<font>
HTML 5 中不支援
4
 
<footer>
定義 section 或 page 的頁尾
 
5
<form>
定義表單
4
5
<frame>
定義子視窗(框架)(HTML 5 中不支援)
4
 
<frameset>
定義框架的集(HTML 5 中不支援)
4
 
<h1> to <h6>
定義標題1 到標題6
4
5
<head>
定義關於文件的資訊
4
5
<header>
定義 section 或 page 的頁首
 
5
<hgroup>
定義有關文件中的 section 的資訊
4
5
<html>
定義 html 文件
4
5
<i>
定義斜體文字
4
5
<iframe>
定義行內的子視窗(框架)
4
5
<img>
定義影像
4
5
<input>
定義輸入域
4
5
<ins>
定義插入文字
4
5
<keygen>
定義生成金鑰
 
5
<isindex>
定義單行的輸入域(HTML 5 中不支援)
4
 
<kbd>
定義鍵盤文字
4
5
<label>
定義表單控制元件的標註
4
5
<legend>
定義 fieldset 中的標題
4
5
<li>
定義列表的專案
4
5
<link>
定義資源引用
4
5
<map>
定義影像對映
4
5
<mark>
定義有記號的文字
4
5
<menu>
定義選單列表
4
5
<meta>
定義元資訊
4
5
<meter>
定義預定義範圍內的度量
 
5
<nav>
定義導航連結
 
5
<noframes>
定義 noframe 部分(HTML 5 中不支援)
4
 
<noscript>
定義 noscript 部分
4
5
<object>
定義嵌入物件
4
5
<ol>
定義有序列表
4
5
<optgroup>
定義選項組
4
5
<option>
定義下拉選單中的選項
4
5
<output>
定義輸出的一些型別
 
5
<p>
定義段落
4
5
<param>
為物件定義引數
4
5
<pre>
定義預格式化文字
4
5
<progress>
定義任何型別的任務的進度
 
5
<q>
定義短的引用
4
5
<rp>
定義若瀏覽器不支援 ruby 元素顯示的內容
 
5
<rt>
定義 ruby 註釋的解釋
 
5
<ruby>
定義 ruby 註釋
 
5
<s>
定義加刪除線的文字(HTML 5 中不支援)
4
 
<samp>
定義樣本計算機程式碼
4
5
<script>
定義指令碼
4
5
<section>
定義 section
4
5
<select>
定義可選列表
4
5
<small>
定義小號文字
4
5
<source>
定義媒介源
4
5
<span>
定義文件中的 section
4
5
<strike>
定義加刪除線的文字(HTML 5 中不支援)
4
 
<strong>
定義強調文字
4
5
<style>
定義樣式定義
4
5
<sub>
定義下標文字
4
5
<summary>
定義 details 元素的標題
 
5
<sup>
定義上標文字
4
5
按字母順序排列的標籤列表
標籤
描述
4: 指在HTML 4.01 中定義了該元素
5: 指在HTML 5 中定義了該元素
<table>
定義表格
4
5
<tbody>
定義表格的主體
4
5
<td>
定義表格單元
4
5
<textarea>
定義 textarea
4
5
<tfoot>
定義表格的腳註
4
5
<th>
定義表頭
4
5
<thead>
定義表頭
4
5
<time>
定義日期/時間
 
5
<title>
定義文件的標題
4
5
<tr>
定義表格行
4
5
<tt>
定義打字機文字
4
5
<u>
定義下劃線文字(HTML 5 中不支援)
4
 
<ul>
定義無序列表
4
5
<var>
定義變數
4
5
<video>
定義視訊
 
5
<xmp>
定義預格式文字(HTML 5 中不支援)
4
 

事件屬性

HTML 5 元素可擁有事件屬性,這些屬性在瀏覽器中觸發行為,比如當使用者單擊一個HTML 5元素時啟動一段 JavaScript。下面列出的事件屬性,可以把它們插入 HTML 標籤來定義事件行為。
HTML 5 中的新事件屬性:onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onmessage, onmousewheel, onresize, onscroll, onunload。
4: 指在HTML 4.01 中定義了該元素。
5: 指在HTML 5 中定義了該元素。
HTML 5不再支援的 HTML 4.01 屬性:onreset。
事件屬性
屬性
描述
4
5
onabort
script
發生 abort 事件時執行指令碼。
 
5
onbeforeonload
script
在元素載入前執行指令碼。
 
5
onblur
script
當元素失去焦點時執行指令碼。
4
5
onchange
script
當元素改變時執行指令碼。
4
5
onclick
script
在滑鼠點選時執行指令碼。
4
5
oncontextmenu
script
當選單被觸發時執行指令碼。
 
5
ondblclick
script
當滑鼠雙擊時執行指令碼。
4
5
ondrag
script
只要指令碼在被拖動就執行指令碼。
 
5
ondragend
script
在拖動操作結束時執行指令碼。
 
5
ondragenter
script
當元素被拖動到一個合法的放置目標時,執行指令碼。
 
5
ondragleave
script
當元素離開合法的放置目標時。
 
5
ondragover
script
只要元素正在合法的放置目標上拖動時,就執行指令碼。
 
5
ondragstart
script
在拖動操作開始時執行指令碼。
 
5
ondrop
script
當元素正在被拖動時執行指令碼。
 
5
onerror
script
當元素載入的過程中出現錯誤時執行指令碼。
 
5
onfocus
script
當元素獲得焦點時執行指令碼。
4
5
onkeydown
script
當按鈕按下時執行指令碼。
4
5
onkeypress
script
當按鍵被按下時執行指令碼。
4
5
onkeyup
script
當按鈕鬆開時執行指令碼。
4
5
onload
script
當文件載入時執行指令碼。
4
5
onmessage
script
當 message 事件觸發時執行指令碼。
 
5
onmousedown
script
當滑鼠按鈕按下時執行指令碼。
4
5
onmousemove
script
當滑鼠指標移動時執行指令碼。
4
5
onmouseover
script
當滑鼠指標移動到一個元素上時執行指令碼。
4
5
onmouseout
script
當滑鼠指標移出元素時執行指令碼。
4
5
onmouseup
script
當滑鼠按鈕鬆開時執行指令碼。
4
5
onmousewheel
script
當滑鼠滾輪滾動時執行指令碼。
 
5
onreset
script
當表單重置時執行指令碼。不支援。
4
 
onresize
script
當元素調整大小時執行指令碼。
 
5
onscroll
script
當元素滾動條被滾動時執行指令碼。
 
5
onselect
script
當元素被選中時執行指令碼。
4
5
onsubmit
script
當表單提交時執行指令碼。
4
5
onunload
script
當文件解除安裝時執行指令碼。
 
5

標籤屬性

HTML 5標籤擁有屬性。在每個標籤的參考頁中可以找到相應的特殊屬性。這裡列出的屬性是通用於每個標籤的核心屬性和語言屬性(有個別例外)。
4: 指在HTML 4.01 中定義了該元素
5: 指在HTML 5 中定義了該元素
HTML 5標籤中的新屬性有:contenteditable, contextmenu, draggable, irrelevant, ref,registrationmark, template
HTML 5 中不再支援的屬性:accesskey
標籤屬性
屬性
描述
4
5
acceskey
a character
設定訪問一個元素的鍵盤快捷鍵。不支援。
4
 
class
class_ruleorstyle_rule
元素的類名。
4
5
contenteditable
true
false
設定是否允許使用者編輯元素。
 
5
contentextmenu
id of a menu element
給元素設定一個上下文選單。
 
5
dir
ltr
rtl
設定文字方向。
4
5
draggable
true
false
auto
設定是否允許使用者拖動元素。
 
5
id
id_name
元素的唯一 id。
4
5
irrelevant
true
false
設定元素是否相關。不顯示非相關的元素。
 
5
lang
language_code
設定語言碼。
4
5
ref
urlorelementID
引用另一個文件或文件上另一個位置。僅在 template 屬性設定時使用。
 
5
registrationmark
registration mark
為元素設定拍照。可規定於任何 <rule> 元素的後代元素,
除了 <nest> 元素。
 
5
style
style_definition
行內的樣式定義。
4
5
tabindex
number
設定元素的 tab 順序。
4
5
template
urlorelementID
引用應該應用到該元素的另一個文件或本文件上另一個位置。
 
5
title
tooltip_text
顯示在工具提示中的文字。
4
5
HTML5與SEO
一:使搜尋引擎更加容易抓取和索引
對於一些網站,特別是那些嚴重依賴於FLASH的網站HTML5是一個大福音。如果你有一個都是FLASH的站點,你就一定會看到切換到HTML5的 好處。首先,搜尋引擎的蜘蛛將能夠抓取你的站點和索引你的內容。所有嵌入到動畫中的內容將全部可以被搜尋引擎讀取。在搜尋引擎優化的基本理論中,這一方面將會驅動你的網站獲得更多的右擊流量。
二:提供更多的功能,提高使用者的友好體驗
使用HTML5的另一個好處就是它可以增加更多的功能。對於HTML5的功能性問題,我們從全球幾個主流站點對它的青睞就可以看出。社交網路大亨Facebook已經推出他們期待已久的基於HTML5的iPad應用平臺,潘多拉也推出他們基於HTML5的音樂播放器的新版本。遊戲平臺 Zynga也在推出了三款新的在移動裝置瀏覽器上執行的基於HTML5的遊戲等等。每天都有不斷的基於HTML5的網站和HTML5特性的網站被推 出。保持站點處於新技術的前沿,也可以很好的提高使用者的友好體驗。
三:可用性的提高,提高使用者的友好體驗
最後我們可以從可用性的角度上看,HTML5可以更好的促進使用者於網站間的互動情況。多媒體網站可以獲得更多的改進,特別是在移動平臺上的應用,使用 HTML5可以提供更多高質量的視訊和音訊流。到目前為止,事實就是iPhone和iPad將不會支援FLASH,同時ADOBE公司也公開宣告將 停止FLASH基於移動平臺的開發,可以這麼說——移動平臺日後視訊音訊是HTML5的天下!

轉載於:https://www.cnblogs.com/Tohold/p/9698973.html

相關文章