搜尋
首頁web前端H5教程HTML5 Canvas入門學習教學_html5教學技巧

HTML5

究竟什麼是HTML5?在W3C HTML5的常見問題中,關於HTML5是這樣說明的:HTML5是一個開放的平台下開發的免費授權條款。
具體來說,對這句話有以下兩種理解:

指一組共同構成了未來開放式網路平台的技術。這些技術包括HTML5規範、CSS3、SVG、MATHML、地理位置、XmlHttpRequest、Context 2D、Web字體以及其他技術。

Canvas的瀏覽器支援
以下我列出了最受歡迎的Web瀏覽器以及它們開始支援Canvas元素的最小版本號。


這裡我推薦使用Chrome。

簡單的HTML5頁面

XML/HTML Code複製內容到剪貼簿
  1. html>  
  2.   
  3. html lang=lang=lang
  4. =
  5. lang
  6. =
  7. lang=lang=lang
  8. > 🎜>
  9. >      head>  
  10.     meta charset charset charset
  11. >       title
  12. >
  13. title>   head
  14. >  
  15.    body
>
 Hello Airing! 


2016317110813836.jpg (850×500) Hello cing! 






身體
>  
      
  1. html
  2. >
  


示範運行結果如下: HTML是由一個形如尖括號的標籤元素組成,這些標籤通常是成對出現,並且標籤之間只能嵌套不能交叉。
擴充:
成對出現的叫做閉合標籤,單一出現的叫做單標籤。不管怎樣都是閉合的(單標籤可以不閉合,但是在XHTML中嚴格要求了閉合)。閉合標籤又分為開始標籤和結束標籤,如是開始標籤,是結束標籤。自標籤如
等。
    關於更多的標籤,建議大家自行了解。推薦W3school平台自學。
  1. 這裡我們著重講一下上述程式碼中出現的標籤。 XML/HTML Code複製內容到剪貼簿 html>  


這個標籤說明 Web 瀏覽器將在標準模式下呈現頁面。根據 W3C 定義的 HTML5 規範,這是 HTML5 文件所必需的。這個標籤簡化了長期以來在不同的瀏覽器呈現 HTML 頁面時出現的奇怪差異。它通常為文檔中的第一行。
XML/HTML Code
複製內容到剪貼簿 html lang=lang=lang=lang=>   這是包含語言說明的標籤,例如,"en"為英語,"zh"為中文。 XML/HTML Code複製內容到剪貼簿
  1. head>...head>   

這2個標記符分別表示頭部訊息的開始和結尾。頭部中包含的標記是頁面的標題、序言、說明等內容,它本身不作為內容來顯示,而是影響網頁顯示的效果。頭部中最常用的標記符是

標記符和<meta>標記符。 <br> <p>以下表格列出了HTML head 元素下的所有標籤和功能:<br> </p> <table> <thead> <tr> <th style="TEXT-ALIGN: center">标签</th> <th style="TEXT-ALIGN: center">描述</th> </tr> </thead> <tbody> <tr> <td style="TEXT-ALIGN: center"><code></code></td> <td style="TEXT-ALIGN: center">定义了文档的信息</td> </tr> <tr> <td style="TEXT-ALIGN: center"><code><title></title></code></td> <td style="TEXT-ALIGN: center">定义了文档的标题</td> </tr> <tr> <td style="TEXT-ALIGN: center"><code><base></code></td> <td style="TEXT-ALIGN: center">定义了页面链接标签的默认链接地址</td> </tr> <tr> <td style="TEXT-ALIGN: center"><code><link></code></td> <td style="TEXT-ALIGN: center">定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td style="TEXT-ALIGN: center"><code><meta></code></td> <td style="TEXT-ALIGN: center">定义了HTML文档中的元数据</td> </tr> <tr> <td style="TEXT-ALIGN: center"><code><script></script></code></td> <td style="TEXT-ALIGN: center">定义了客户端的脚本文件</td> </tr> <tr> <td style="TEXT-ALIGN: center"><code><style></style></code></td> <td style="TEXT-ALIGN: center">定义了HTML文档的样式文件</td> </tr> </tbody> </table> <br> <div class="codeText"> <div class="codeHead"> <span class="lantxt">XML/HTML Code</span><span style="CURSOR: pointer" class="copyCodeText" onclick="copyIdText('code_2641')">複製內容到剪貼簿</span> </div> <div id="code_2641"> <ol class="dp-xml"> <li class="alt"><span><span class="tag"><span class="tag-name">meta</span><span> </span><span class="attribute">charset</span><span>=</span><span class="attribute-value">charset</span><span class="tag">=</span><span>charset</span></span>=</span></li> </ol>charset</div> </div> ><p>><br></p>  <div class="codeText"> <div class="codeHead"> <span class="lantxt"> </span> <span style="CURSOR: pointer" class="copyCodeText" onclick="copyIdText('code_8182')"> </span> </div>這個標籤說明 Web 瀏覽器使用的字元編碼模式,這裡通常設定為UTF-8。如果沒有需要特別設定的沒必要改變它。這也是 HTML5 頁面需要的元素。 <div id="code_8182"><ol class="dp-xml"> <li class="alt"> <span><span class="tag">XML/HTML Code</span><span class="tag-name">複製內容到剪貼簿</span><span class="tag"> </span> <span> </span><span class="tag"></span></span>title<span class="tag"></span>><span></span>...</li> </ol></div>title</div> <p>><br></p>   <div class="codeText"> <div class="codeHead"> <span class="lantxt"> </span> <span style="CURSOR: pointer" class="copyCodeText" onclick="copyIdText('code_7985')"> </span> </div>這個標籤說明在瀏覽器視窗顯示的 HTML 的標題。這是一個很重要的標記,它是搜尋引擎用來在 HTML 頁面上收錄內容的主要資訊之一。 <div id="code_7985"><ol class="dp-xml"> <li class="alt"> <span><span class="tag">XML/HTML Code</span><span class="tag-name">複製內容到剪貼簿</span><span class="tag"> </span> <span> </span><span class="tag"></span></span>body<span class="tag"></span>><span></span>...</li> </ol></div>body</div> <p>><br><br>   </p> <p> <strong> <br> </strong> <br> </p>網頁中顯示的實際內容均包含在這2個之間。
綜上,HTML5網頁是由第一行的與部分組成,而主要分為兩部分-由標籤規定的頭部部分,和由規定的主體部分。
這樣,我們就把最簡單的HTML網頁的基本結構給捋出來了。 增加一個Canvas
在HTML中加入Canvas非常簡單,只需要在HTML的部分,加上上標籤就可以了!可以參考下面的程式碼。 XML/HTML Code複製內容到剪貼簿
  1. html>htmlhtml ="zh">>meta charset="UTF-8">>>>> title>基礎的HTML5頁面title> 
  2. head>  
  3. body>       canvas id=
  4. "canvas"
  5. >
  6.        你的瀏覽器居然不支援Canvas? !趕快換一個吧! !        canvas>
  7. body>     
html

>

  

由於結果頁面是一個完整的空白頁面,所以這裡我就不貼圖了。大家可能會很好奇,為什麼會是一個空白呢? (廢話,我還沒來得及畫畫呢!)Canvas的本意是畫布,也就是畫布的意思(廢話...),畫佈在HTML5中是透明的,是看不見的。 標籤中的那段文字是什麼意思呢?那就是一旦瀏覽器執行HTML頁面時不支援Canvas,就會顯示這段文字,換言之,只要你的瀏覽器支援Canvas,頁面上就不會顯示這個文字。 中的id是什麼意思? id是標籤的屬性之一,在JavaScript程式碼中用來指定特定的的名字,就像一個人的身分證號碼一樣,是唯一的。 為了更清楚的展示Canvas,以及方便之後的演示,我稍微修改了一下程式碼,之後的繪圖都會在這個Canvas上繪製。
XML/HTML Code複製內容到剪貼簿
  1. html>  
  2. html lang="zh" >  
  3. >  
  4.  字符集="UTF- 8">  
  5. 標題>基礎畫布基礎畫布基礎畫布
  6. >  
  7. >
  8.   
  9.   
  10. 身體
  11. >   div id=
  12. id
  13. =id=id=id=id=id=id=id> 」>       畫布
  14.  
  15. id
  16. =
  17. "畫布"  樣式=「邊框:1 像素實線#aaaaaa;顯示:區塊;邊距:50 像素自動;」
  18. 寬度="800" 高度
  19.  
  20. 🎜>" 600">       你的瀏覽器居然不支援Canvas? !趕緊換一個吧! !   
  21.     畫布>  
 🎜>
div>   身體>     html>  

運行結果:
2016317111155702.jpg (850×500)

以上程式碼有幾點說明:

1.新增了

標籤,將包裹其中,個人習慣,暫時並沒有什麼卵用。
2.給標籤指定了width和height屬性,規定了它的寬和高。
3.為標籤添加了一個內聯樣式,使其變為區塊級元素並居中顯示。

關於CSS的內容這裡不做說明,畢竟這不是本課程的主角,若做擴充會花費大量篇幅。

引用Canvas元素


文件物件模型(DOM)
文件物件模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴充標誌語言的標準程式介面。 Document Object Model的歷史可以追溯至1990年代後期微軟與Netscape的“瀏覽器大戰”,雙方為了在JavaScript與JScript一決生死,於是大規模的賦予瀏覽器強大的功能。微軟在網頁技術上加入了不少專屬事物,計有VBScript、ActiveX、以及微軟自家的DHTML格式等,使不少網頁使用非微軟平台及瀏覽器無法正常顯示。 DOM即是當時蘊釀出來的傑作。
文檔物件模型代表了在 HTML 頁面上的所有物件。它是語言中立且平台中立的。它允許頁面的內容和樣式被 Web 瀏覽器渲染之後再次更新。使用者可以透過 JavaScript 存取 DOM。
在開始使用前,首先需要了解兩個特定的 DOM 物件:window 和 document。

window 物件是 DOM 的最高一級,需要對這個物件進行偵測來確保開始使用 Canvas 應用程式之前,已經載入了所有的資源和程式碼。
document 物件包含所有在 HTML 頁面上的 HTML 標籤。需要對這個物件進行檢索來找 出用 JavaScript 操縱的實例。

JavaScript放置位置
使用JavaScript 為Canvas 程式設計會產生一個問題:在建立的頁面中,從哪裡啟動JavaScript程式?
把JavaScript 放進HTML 頁面的

標籤中是個不錯的主意,這樣做的好處是很容易找到它,也是上一章我們介紹中所提到的。但是,把 JavaScript 程式放在這裡就代表整個 HTML 頁面要載入完 JavaScrpit 才能配合 HTML 運行,這段 JavaScript 程式碼也會在整個頁面載入前就開始執行了。結果就是,執行 JavaScript 程式之前必須檢查 HTML 頁面是否已經載入完畢。
最近有一個趨勢是將 JavaScript 放在 HTML 文件結尾處的標籤之前,這樣就可以確保在 JavaScript 運行時整個頁面已經加載完畢。然而,由於在運行程式前需要使用 JavaScript 測試頁面是否加載,因此最好還是將 JavaScript 放在中。
不過本人不走尋常路(笑),所以之後的案例,還是按照自己的編碼風格將JavaScript程式碼放在了的尾部。當然,如果JavaScript程式碼有些多,就推薦使用載入外部 .js 檔案的方式。程式碼大致如下:
JavaScript Code複製內容到剪貼簿
  1. <script><span class="string">"text/javascript"</script> src="bootstarp.js"   

在實際專案開發中,都是將HTML、CSS、JS三者完全分開的。不過用於案例示範程式碼略少,所以大多沒有使用載入外部 .js 檔案的方式。



取得canvas物件

取得canvas物件其實就是一句話的事情。

JavaScript Code複製內容到剪貼簿
  1. var canvas = document.getElementById("canvas");  

var用於變數定義,由於JS是弱型別語言,所以定義啥變數都用var。跟在var之後的canvas是變數。使用document物件的getElementById()的方法,透過id取得物件。之前我們為標籤賦予了一個id,名叫canvas,所以該句話最後一個canvas是指的id——canvas。 (是不是有點繞,需要自己多讀幾遍捋清楚。)
取得畫筆(2D環境)
畫畫首先需要啥?畫筆啊。取得canvas畫筆也是一句話的事情,就是直接使用剛才取得的canvas對象,呼叫它的getContext("2d")方法,即可。

JavaScript Code複製內容到剪貼簿
  1. var context = canvas.getContext("2d");;
這裡的context便是畫筆了。
在其他教學課程都是使用2D環境這個專有術語,我覺得畫筆更有形象。靈感引自Java中Graphics類別的g畫筆,原理與之相同。


總結


準備工作只有三步驟:
1.佈置畫布:透過新增標籤,新增canvas元素
2.取得畫布:透過標籤的id,取得canvas物件

3.取得畫筆:透過canvas物件的getContext ("2d")方法,獲得2D環境


對應的程式碼也就是三句話:

JavaScript Code
複製內容到剪貼簿
      
  1. var canvas = document.getElementById("canvas""canvas"
  2. var context = canvas.getContext("2d"); 
完整程式碼如下。


JavaScript Code
複製內容到剪貼簿
  1. html>   
  2. "zh">   
  3.   
  4.     <meta> "UTF-8">   
  5.     基礎的Canvas   
  6.   
  7.   
  8.   
  9. "canvas-warp">   
  10.     "canvas" style="border 1px sol5; " width="800" height="600">  
  11.         你的瀏覽器居然不支援Canvas? !趕快換一個吧! !   
  12.        
  
  •   
  • <script>   <li class="alt"> <span> </script>
    window.onload = 
  • function(){   
  •     
  • var canvas = document.getElementById("canvas"     
  • var
  •  context = canvas.getContext("2d"; }   
  •   
  •   
  •   
  •   
  •   
  • 注意幾點:
    1.JavaScript程式碼需要包裹在<script>標籤中。 <p> <img src="/static/imghwm/default1.png" data-src="http://files.jb51.net/file_images/article/201603/2016317111405657.png?2016217111415?x-oss-process=image/resize,p_40" class="lazy" alt="2016317111405657.png (1433×771)" />2.window.onload = function(){}載入頁面後就要立即執行,表示網頁載入完執行後面的那個function函數體的內容。 <p>至此,畫布和畫筆已經準備完畢,接下來就讓我們使用畫筆(context物件)繪製出高逼格的圖像吧!覺醒吧!藝術家之魂! <p></script>
    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    H5和HTML5之間的連接:相似性和差異H5和HTML5之間的連接:相似性和差異Apr 24, 2025 am 12:01 AM

    H5和HTML5是不同的概念:HTML5是HTML的一個版本,包含新元素和API;H5是基於HTML5的移動應用開發框架。 HTML5通過瀏覽器解析和渲染代碼,H5應用則需要容器運行並通過JavaScript與原生代碼交互。

    H5代碼的基礎:密鑰元素及其目的H5代碼的基礎:密鑰元素及其目的Apr 23, 2025 am 12:09 AM

    HTML5的關鍵元素包括、、、、、等,用於構建現代網頁。 1.定義頭部內容,2.用於導航鏈接,3.表示獨立文章內容,4.組織頁面內容,5.展示側邊欄內容,6.定義頁腳,這些元素增強了網頁的結構和功能性。

    HTML5和H5:了解常見用法HTML5和H5:了解常見用法Apr 22, 2025 am 12:01 AM

    HTML5和H5沒有區別,H5是HTML5的簡稱。 1.HTML5是HTML的第五個版本,增強了網頁的多媒體和交互功能。 2.H5常用於指代基於HTML5的移動網頁或應用,適用於各種移動設備。

    HTML5:現代網絡的基礎(H5)HTML5:現代網絡的基礎(H5)Apr 21, 2025 am 12:05 AM

    HTML5是超文本標記語言的最新版本,由W3C標準化。 HTML5引入了新的語義化標籤、多媒體支持和表單增強,提升了網頁結構、用戶體驗和SEO效果。 HTML5引入了新的語義化標籤,如、、、等,使網頁結構更清晰,SEO效果更好。 HTML5支持多媒體元素和,無需第三方插件,提升了用戶體驗和加載速度。 HTML5增強了表單功能,引入了新的輸入類型如、等,提高了用戶體驗和表單驗證效率。

    H5代碼:編寫清潔有效的HTML5H5代碼:編寫清潔有效的HTML5Apr 20, 2025 am 12:06 AM

    如何寫出乾淨高效的HTML5代碼?答案是通過語義化標籤、結構化代碼、性能優化和避免常見錯誤。 1.使用語義化標籤如、等,提升代碼可讀性和SEO效果。 2.保持代碼結構化和可讀性,使用適當縮進和註釋。 3.優化性能,通過減少不必要的標籤、使用CDN和壓縮代碼。 4.避免常見錯誤,如標籤未閉合,確保代碼有效性。

    H5:如何增強網絡上的用戶體驗H5:如何增強網絡上的用戶體驗Apr 19, 2025 am 12:08 AM

    H5通過多媒體支持、離線存儲和性能優化提升網頁用戶體驗。 1)多媒體支持:H5的和元素簡化開發,提升用戶體驗。 2)離線存儲:WebStorage和IndexedDB允許離線使用,提升體驗。 3)性能優化:WebWorkers和元素優化性能,減少帶寬消耗。

    解構H5代碼:標籤,元素和屬性解構H5代碼:標籤,元素和屬性Apr 18, 2025 am 12:06 AM

    HTML5代碼由標籤、元素和屬性組成:1.標籤定義內容類型,用尖括號包圍,如。 2.元素由開始標籤、內容和結束標籤組成,如內容。 3.屬性在開始標籤中定義鍵值對,增強功能,如。這些是構建網頁結構的基本單位。

    了解H5代碼:HTML5的基本原理了解H5代碼:HTML5的基本原理Apr 17, 2025 am 12:08 AM

    HTML5是構建現代網頁的關鍵技術,提供了許多新元素和功能。 1.HTML5引入了語義化元素如、、等,增強了網頁結構和SEO。 2.支持多媒體元素和,無需插件即可嵌入媒體。 3.表單增強了新輸入類型和驗證屬性,簡化了驗證過程。 4.提供了離線和本地存儲功能,提升了網頁性能和用戶體驗。

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    EditPlus 中文破解版

    EditPlus 中文破解版

    體積小,語法高亮,不支援程式碼提示功能

    SublimeText3 英文版

    SublimeText3 英文版

    推薦:為Win版本,支援程式碼提示!

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。