Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
TML5 是第五個且是當前的 HTML 版本,它是用于在萬維網上構建和呈現內容的標記語言。本文將幫助讀者了解它。 -- Palak Shah
本文導航
-新標簽和元素 …… 08%
-HTML5 的高級功能 …… 16%
-地理位置 …… 16%
-網絡存儲 …… 33%
-應用緩存(AppCache) …… 44%
-視頻 …… 50%
-音頻 …… 61%
-畫布(Canvas) …… 71%
-HTML5 工具 …… 78%
編譯自: http://opensourceforu.com/2017/06/introduction-to-html5/作者: Palak Shah
譯者: geekpi
HTML5 是第五個且是當前的 HTML 版本,它是用于在萬維網上構建和呈現內容的標記語言。本文將幫助讀者了解它。
HTML5 通過 W3C 和Web 超文本應用技術工作組Web Hypertext Application Technology Working Group之間的合作發展起來。它是一個更高版本的 HTML,它的許多新元素可以使你的頁面更加語義化和動態。它是為所有人提供更好的 Web 體驗而開發的。HTML5 提供了很多的功能,使 Web 更加動態和交互。
HTML5 的新功能是:
新標簽,如 <header> 和 <section>
用于 2D 繪圖的 <canvas> 元素
本地存儲
新的表單控件,如日歷、日期和時間
新媒體功能
地理位置
HTML5 還不是正式標準(LCTT 譯注:HTML5 已于 2014 年成為“推薦標準”),因此,并不是所有的瀏覽器都支持它或其中一些功能。開發 HTML5 背后最重要的原因之一是防止用戶下載并安裝像 Silverlight 和 Flash 這樣的多個插件。
語義化元素: 圖 1 展示了一些有用的語義化元素。
表單元素: HTML5 中的表單元素如圖 2 所示。
圖形元素: HTML5 中的圖形元素如圖 3 所示。
媒體元素: HTML5 中的新媒體元素如圖 4 所示。
圖 1:語義化元素
圖 2:表單元素
圖 3:圖形元素
圖 4:媒體元素
地理位置
這是一個 HTML5 API,用于獲取網站用戶的地理位置,用戶必須首先允許網站獲取他或她的位置。這通常通過按鈕和/或瀏覽器彈出窗口來實現。所有最新版本的 Chrome、Firefox、IE、Safari 和 Opera 都可以使用 HTML5 的地理位置功能。
地理位置的一些用途是:
公共交通網站
出租車及其他運輸網站
電子商務網站計算運費
旅行社網站
房地產網站
在附近播放的電影的電影院網站
在線游戲
網站首頁提供本地標題和天氣
工作職位可以自動計算通勤時間
工作原理: 地理位置通過掃描位置信息的常見源進行工作,其中包括以下:
全球定位系統(GPS)是最準確的
網絡信號 - IP地址、RFID、Wi-Fi 和藍牙 MAC地址
GSM/CDMA 蜂窩 ID
用戶輸入
該 API 提供了非常方便的函數來檢測瀏覽器中的地理位置支持:
if (navigator.geolocation) {// do stuff
}
getCurrentPosition API 是使用地理位置的主要方法。它檢索用戶設備的當前地理位置。該位置被描述為一組地理坐標以及航向和速度。位置信息作為位置對象返回。
語法是:
getCurrentPosition(showLocation, ErrorHandler, options);
showLocation:定義了檢索位置信息的回調方法。
ErrorHandler(可選):定義了在處理異步調用時發生錯誤時調用的回調方法。
options (可選): 定義了一組用于檢索位置信息的選項。
我們可以通過兩種方式向用戶提供位置信息:測地和民用。
描述位置的測地方式直接指向緯度和經度。
位置信息的民用表示法是人類可讀的且容易理解。
如下表 1 所示,每個屬性/參數都具有測地和民用表示。
圖 5 包含了一個位置對象返回的屬性集。
圖5:位置對象屬性
網絡存儲
在 HTML 中,為了在本機存儲用戶數據,我們需要使用 JavaScript cookie。為了避免這種情況,HTML5 已經引入了 Web 存儲,網站利用它在本機上存儲用戶數據。
與 Cookie 相比,Web 存儲的優點是:
更安全
更快
存儲更多的數據
存儲的數據不會隨每個服務器請求一起發送。只有在被要求時才包括在內。這是 HTML5 Web 存儲超過 Cookie 的一大優勢。
有兩種類型的 Web 存儲對象:
本地 - 存儲沒有到期日期的數據。
會話 - 僅存儲一個會話的數據。
如何工作: localStorage 和 sessionStorage 對象創建一個 key=value 對。比如: key="Name", value="Palak"。
這些存儲為字符串,但如果需要,可以使用 JavaScript 函數(如 parseInt() 和 parseFloat())進行轉換。
下面給出了使用 Web 存儲對象的語法:
存儲一個值:
localStorage.setItem("key1", "value1");
localStorage["key1"] = "value1";
得到一個值:
alert(localStorage.getItem("key1"));
alert(localStorage["key1"]);
刪除一個值: -removeItem("key1");
刪除所有值:
localStorage.clear();
應用緩存(AppCache)
使用 HTML5 AppCache,我們可以使 Web 應用程序在沒有 Internet 連接的情況下脫機工作。除 IE 之外,所有瀏覽器都可以使用 AppCache(截止至此時)。
應用緩存的優點是:
網頁瀏覽可以脫機
頁面加載速度更快
服務器負載更小
cache manifest 是一個簡單的文本文件,其中列出了瀏覽器應緩存的資源以進行脫機訪問。 manifest 屬性可以包含在文檔的 HTML 標簽中,如下所示:
<html manifest="test.appcache">...
</html>
它應該在你要緩存的所有頁面上。
緩存的應用程序頁面將一直保留,除非:
用戶清除它們
manifest 被修改
緩存更新
視頻
在 HTML5 發布之前,沒有統一的標準來顯示網頁上的視頻。大多數視頻都是通過 Flash 等不同的插件顯示的。但 HTML5 規定了使用 video 元素在網頁上顯示視頻的標準方式。
目前,video 元素支持三種視頻格式,如表 2 所示。
下面的例子展示了 video 元素的使用:
<! DOCTYPE HTML><html>
<body>
<video src=" vdeo.ogg" width="320" height="240" controls="controls">
This browser does not support the video element.
</video>
</body>
</html>
例子使用了 Ogg 文件,并且可以在 Firefox、Opera 和 Chrome 中使用。要使視頻在 Safari 和未來版本的 Chrome 中工作,我們必須添加一個 MPEG4 和 WebM 文件。
video 元素允許多個 source 元素。source 元素可以鏈接到不同的視頻文件。瀏覽器將使用第一個識別的格式,如下所示:
<video width="320" height="240" controls="controls"><source src="vdeo.ogg" type="video/ogg" />
<source src=" vdeo.mp4" type="video/mp4" />
<source src=" vdeo.webm" type="video/webm" />
This browser does not support the video element.
</video>
圖6:Canvas 的輸出
音頻
對于音頻,情況類似于視頻。在 HTML5 發布之前,在網頁上播放音頻沒有統一的標準。大多數音頻也通過 Flash 等不同的插件播放。但 HTML5 規定了通過使用音頻元素在網頁上播放音頻的標準方式。音頻元素用于播放聲音文件和音頻流。
目前,HTML5 audio 元素支持三種音頻格式,如表 3 所示。
audio 元素的使用如下所示:
<! DOCTYPE HTML><html>
<body>
<audio src=" song.ogg" controls="controls">
This browser does not support the audio element.
</video>
</body>
</html>
此例使用 Ogg 文件,并且可以在 Firefox、Opera 和 Chrome 中使用。要在 Safari 和 Chrome 的未來版本中使 audio 工作,我們必須添加一個 MP3 和 Wav 文件。
audio 元素允許多個 source 元素,它可以鏈接到不同的音頻文件。瀏覽器將使用第一個識別的格式,如下所示:
<audio controls="controls"><source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
This browser does not support the audio element.
</audio>
畫布(Canvas)
要在網頁上創建圖形,HTML5 使用 畫布 API。我們可以用它繪制任何東西,并且它使用 JavaScript。它通過避免從網絡下載圖像而提高網站性能。使用畫布,我們可以繪制形狀和線條、弧線和文本、漸變和圖案。此外,畫布可以讓我們操作圖像中甚至視頻中的像素。你可以將 canvas 元素添加到 HTML 頁面,如下所示:
<canvas id="myCanvas" width="200" height="100"></canvas>
畫布元素不具有繪制元素的功能。我們可以通過使用 JavaScript 來實現繪制。所有繪畫應在 JavaScript 中。
<script type="text/javascript">var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="blue";
cxt.storkeStyle = "red";
cxt.fillRect(10,10,100,100);
cxt.storkeRect(10,10,100,100);
</script>
以上腳本的輸出如圖 6 所示。
你可以繪制許多對象,如弧、圓、線/垂直梯度等。
為了有效操作,所有熟練的或業余的 Web 開發人員/設計人員都應該使用 HTML5 工具,當需要設置工作流/網站或執行重復任務時,這些工具非常有幫助。它們提高了網頁設計的可用性。
以下是一些幫助創建很棒的網站的必要工具。
HTML5 Maker: 用來在 HTML、JavaScript 和 CSS 的幫助下與網站內容交互。非常容易使用。它還允許我們開發幻燈片、滑塊、HTML5 動畫等。
Liveweave: 用來測試代碼。它減少了保存代碼并將其加載到屏幕上所花費的時間。在編輯器中粘貼代碼即可得到結果。它非常易于使用,并為一些代碼提供自動完成功能,這使得開發和測試更快更容易。
Font dragr: 在瀏覽器中預覽定制的 Web 字體。它會直接載入該字體,以便你可以知道看起來是否正確。也提供了拖放界面,允許你拖動字形、Web 開放字體和矢量圖形來馬上測試。
HTML5 Please: 可以讓我們找到與 HTML5 相關的任何內容。如果你想知道如何使用任何一個功能,你可以在 HTML Please 中搜索。它提供了支持的瀏覽器和設備的有用資源的列表,語法,以及如何使用元素的一般建議等。
Modernizr: 這是一個開源工具,用于給訪問者瀏覽器提供最佳體驗。使用此工具,你可以檢測訪問者的瀏覽器是否支持 HTML5 功能,并加載相應的腳本。
Adobe Edge Animate: 這是必須處理交互式 HTML 動畫的 HTML5 開發人員的有用工具。它用于數字出版、網絡和廣告領域。此工具允許用戶創建無瑕疵的動畫,可以跨多個設備運行。
Video.js: 這是一款基于 JavaScript 的 HTML5 視頻播放器。如果要將視頻添加到你的網站,你應該使用此工具。它使視頻看起來不錯,并且是網站的一部分。
The W3 Validator: W3 驗證工具測試 HTML、XHTML、SMIL、MathML 等中的網站標記的有效性。要測試任何網站的標記有效性,你必須選擇文檔類型為 HTML5 并輸入你網頁的 URL。這樣做之后,你的代碼將被檢查,并將提供所有錯誤和警告。
HTML5 Reset: 此工具允許開發人員在 HTML5 中重寫舊網站的代碼。你可以使用這些工具為你網站的訪問者提供一個良好的網絡體驗。
Palak Shah
作者是高級軟件工程師。她喜歡探索新技術,學習創新概念。她也喜歡哲學。你可以通過 palak311@gmail.com[1] 聯系她。
via: http://opensourceforu.com/2017/06/introduction-to-html5/
作者:Palak Shah[2] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
許多人來說,學習HTML是學習Web設計和開發的第一步--甚至是更高級的編程語言。大多數人認為HTML清晰易學。因為它是一種標記語言,它不同于編程語言。標記語言旨在描述文檔中內容片段的用途。
關于HTML的一個常見誤解是它被用來設計網頁或網站。雖然HTML語言提供了結構,但該結構與實際外觀脫節。HTML結構可以應用于大屏幕顯示器,移動設備,甚至打印版本的文檔。所以當你在HTML5培訓機構學有所成之后,你的就業選擇也是很多的,不僅僅只是做網站。
今天使用的HTML版本很多,最常用的是HTML5。使用HTML5,我們可以直接在Web瀏覽器中播放音頻和視頻。HTML5帶來了大量的新標簽,使我們能夠構造文檔。這些新標簽包括頁眉、頁腳、文章、部分、旁邊和導航(用于導航元素)。
要想學好HTML5,首先要理解HTML5代碼背后的詞匯表是很重要的,如果你理解并能夠識別HTML5代碼中的標記、內容、屬性和值,那么你就可以更好地理解代碼。我們在HTML5培訓中學習時,要非常重視這一點,不懂的要及時問老師,加深對代碼的理解,這對你學習其他語言也有好處。
標記和元素
標記是HTML的基本構建塊。標記是構成HTML標記語言的單個內容單元。HTML標記被配對成一個開始標記和一個結束標記。開始標記、結束標記和中間出現的任何內容一起稱為元素。
內容
內容通常是用戶實際要閱讀、聆聽或查看的內容。在瀏覽器中查看的所有文本都是存在于HTML代碼的某些元素中的內容。
屬性和值
通常,需要以某種方式修改標記,或者需要關于標記應該如何執行的附加信息。通常,標記需要鏈接到CSS或Javascript代碼,以便使它們具有動態。在這兩種情況中,都使用屬性和值。
每個行業都有要使用的“工具”。在HTML的情況下,您會用一些程序來編寫和顯示代碼。有幾十種好工具。你可以通過反復嘗試找出你最喜歡的工具。HTML5培訓中也會介紹很多種工具供你學習,你熟悉的越多,對你在工作上的幫助也就越大。
文本編輯器
文本編輯器是編寫HTML5代碼的程序。文本編輯器類似于精簡的字處理器。最重要的是,與文字處理器相比,它們保持文本“純凈”,并且不會注入格式代碼來混淆試圖解釋HTML的瀏覽器。
一個好的免費文本編輯器是Adobe的括號。括號適用于pc和mac。網上也有免費的供你下載
瀏覽器
瀏覽器的面貌總是在變化。大多數開發人員在他們的機器上安裝了幾個瀏覽器。目標通常是確保HTML和CSS代碼在這一系列瀏覽器上執行相同的操作。GoogleChrome仍然是許多開發人員的最愛,因為它擁有廣泛的開發工具。Chrome中的開發人員工具提供了一種測試HTML和Javascript代碼以及跟蹤問題的方法。
除了Chrome之外,大多數Web開發人員都有Firefox、Safari甚至Opera來測試他們的HTML代碼。由于許多Windows用戶目前升級到Windows10,用戶也應該考慮在WindowsEdge瀏覽器中進行測試。
熟悉關于HTML5培訓的入門基礎知識,是為了讓你在HTML編碼方面有一個快速的開始。在掌握HTML編碼之前,還有更多的知識需要學習和了解。在HTML5培訓機構里,有專業的導師團隊,引領行業的先進課程,讓每位學員可以更快的掌握想學的知識,學習更有成效。
了解更多
天發了一篇干貨,似乎沒人看,好吧,我們來說說技術吧。
HTML5專題是隨性更新,不一定每天更新這個專題。
一個HTML5文檔的最簡單結構是:
結構
相比常規的html更為精簡
<header><section><footer><nav><article><aside>
1、頁眉header、整個頁面的頭部
2、正文article、博文或者新聞的展現
3、頁腳footer、一般用于呈現頁面底部的相關信息,可以放在body最下面,也可以放在article的最下面,只要記住它的作用是呈現其他信息,且不能相互嵌套
4、導航nav、可以出現在header,也可以出現在footer,也可以出現在section,只要保證語義化,即用作導航功能,如配合footer就可以表示為如下形式
5、側邊欄aside、用于頁面上一些與主題聯系不大而相對獨立的區域,通常用于邊欄,例如展示以下內容:快速鏈接、最多訪問、登錄注冊等
6、文檔中的節section、通常表示一段專題性的內容,一般會帶有標題,應用的典型場景有文章的章節、標簽對話框中的標簽頁、或者論文中有編號的部分,section可以說語義化強于div,但是弱于article,也可以這么說吧,article標簽是特殊的section,section是特殊的div,語義遞減。對于 section 和 article 的區分乍看比較難,其實重點就是看看這段內容脫離了整體是不是還能作為一個完整的、獨立的內容而存在,這里面的重點又在完整身上。因為其實說起來 section 包含的內容也能算作獨立的一塊,但是它只能算是組成整體的一部分,article 才是一個完整的整體。
那么section所用到的結構可以如下幾種形式:
①
②
通過上面可以看出,section可以應用的場景很多,但是需要注意的就是保證語義化。
通過第三點所列出的標簽,可以對網站的大綱做一個總結,并不代表正確的大綱就是如此,但是可以起到借鑒作用。
當然了,頁面結構的設計完全取決于開發人員,但是為了更好的體現HTML5的語義化原則,清楚的認識每個標簽所代表的語義就很重要,這里所列出的文檔結構只是一種代表,在<section>里面可以包含更多的新的標簽,諸如<figure><video><hgroup>等,都需要根據需求來確定。
對于使用不支持HTML5的瀏覽器的用戶,同樣有解決的辦法:
可以在<head></head>內部以注釋的形式(這樣的注釋只對IE(包括那些國產的IE內核的瀏覽器)有效)引用這樣一個js,它托管在Google開源服務器上,它可以讓IE8及以下版本的ie也支持那些新的html5標簽(包括IE6).
以上全部還必須使用CSS形成自己的樣式,所謂語義,僅僅是開發人員在查看的頁面的時候可以很清晰的知道頁面結構,何處為頭部何處為內容。
更多前端小知識,盡在https://blog.imcyk.com
*請認真填寫需求信息,我們會在24小時內與您取得聯系。