前端校招知識體系之HTML5

来源:https://www.cnblogs.com/ujoxia/archive/2019/09/26/11592657.html
-Advertisement-
Play Games

啥是HTML5?官方說HTML5 是下一代的 HTML... 本文主要介紹HTML5三個方面的知識,繼續往下看看吧。 語義化標簽 canvas&svg 響應式meta 一、語義化標簽 語義化標簽的優點: 比<div>標簽有更加豐富的含義,方便開發與維護 方便搜索引擎能識別頁面結構,有利於SEO 方便 ...


啥是HTML5?官方說HTML5 是下一代的 HTML...

本文主要介紹HTML5三個方面的知識,繼續往下看看吧。

  • 語義化標簽
  • canvas&svg
  • 響應式meta

一、語義化標簽

語義化標簽的優點:

  • 比<div>標簽有更加豐富的含義,方便開發與維護
  • 方便搜索引擎能識別頁面結構,有利於SEO
  • 方便其他設備解析(如盲人閱讀器等)

HTML5新增的語義化標簽主要有:

<header>、<nav>、<footer>、<aside>、<section>、<article>等

接下來我們通過一張圖來更深刻的記住這幾個主要標簽

<nav>:navigation,表示頁面的導航,也可以在<header>中使用,還可以顯示在側邊欄中,一個頁面中可以有多個<nav>標簽

<div>、<section>、<article>三者比較:

<div>:應用廣泛,任意一個區域,非語義標簽

<section>:包含的內容是一個明確的主題,通常有標題區域

<article>:應該使用在相對比較獨立、完整的的內容區塊,所以我們可以在一篇博客、一個論壇帖子、一篇新聞報道或者一個用戶評論中使用<article>元素。article可以互相嵌套。

註意:

  • 儘可能少使用div和span這類無語義標簽
  • 不要使用純樣式標簽,如b、font、u等,改用css設置
  • 需要強調的文本,可以包含在strong或者em標簽中
  • 每個input標簽對應的說明文本都需要使用label標簽,並且通過為input設置id屬性
  • 表單域要用fieldset標簽包起來,並用legend標簽說明表單的用途
  • 使用表格時,標題要用caption,表頭用thead,主體部分用tbody包圍

二、canvas和svg

  • canvas

HTML5 <canvas> 標簽用於繪製圖像(通過腳本,通常是 JavaScript),擁有多種繪製路徑、矩形、圓形、字元以及添加圖像的方法。

首先我們要瞭解HTML5的坐標,如下圖

  1.創建canvas元素

向頁面添加canvas元素,規定元素的id、width和height

<canvas id="myCanvas" width="200" height="100"></canvas>

  2.通過JavaScript來繪製

<script type="text/javascript">
var c=document.getElementById("myCanvas");//通過id來尋找canvas元素
var cxt=c.getContext("2d");//創建context對象
//繪製一個紅色的矩形 cxt.fillStyle
="#FF0000";//設置或返回用於填充繪畫的顏色、漸變或模式 cxt.fillRect(0,0,150,75);//繪製被填充的矩形 </script>

更多方法屬性見https://www.w3school.com.cn/tags/html_ref_canvas.asp

  • Canvas和SVG

Canvas 和 SVG 都允許您在瀏覽器中創建圖形,但是它們在根本上是不同的。

1.SVG

SVG 是一種使用 XML 描述 2D 圖形的語言。

SVG 基於 XML,這意味著 SVG DOM 中的每個元素都是可用的。您可以為某個元素附加 JavaScript 事件處理器。

在 SVG 中,每個被繪製的圖形均被視為對象。如果 SVG 對象的屬性發生變化,那麼瀏覽器能夠自動重現圖形。

2.Canvas

Canvas 通過 JavaScript 來繪製 2D 圖形。

Canvas 是逐像素進行渲染的。

在 canvas 中,一旦圖形被繪製完成,它就不會繼續得到瀏覽器的關註。如果其位置發生變化,那麼整個場景也需要重新繪製,包括任何或許已被圖形覆蓋的對象。

3.兩者之間的一些不同之處

Canvas

  • 依賴解析度
  • 不支持事件處理器
  • 弱的文本渲染能力
  • 能夠以 .png 或 .jpg 格式保存結果圖像
  • 最適合圖像密集型的游戲,其中的許多對象會被頻繁重繪

SVG

  • 不依賴解析度
  • 支持事件處理器
  • 最適合帶有大型渲染區域的應用程式(比如谷歌地圖)
  • 複雜度高會減慢渲染速度(任何過度使用 DOM 的應用都不快)
  • 不適合游戲應用

三、響應式meta

<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
  • name="viewport":屏幕設定
  • maximum-scale=1.0,minimum-scale=1.0,initial-scale=1.0:最大最小縮放比例為1,其實就是不允許點擊縮放
  • user-scalable=0,width=device-width:設定內容和設備的屏幕等寬,等高
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  • http-equiv="X-UA-Compatible"這個是IE8的專用標記,是用來指定Internet Explorer 8 瀏覽器模擬某個特定版本IE瀏覽器的渲染方式,以此來解決IE瀏覽器的相容問題。
  • content="IE=edge,chrome=1"表示如果安裝了GCF,則使用GCF(Chrome內核 :Google Chrome Frame)來渲染頁面,如果沒有安裝GCF,則使用最高版本的IE內核進行渲染。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • StatefulWidget 需要藉助於 State 對象,在特定的階段來處理用戶的交互或其內部數據的變化,並體現在 UI 上。這個特定的階段,就涵蓋來一個組件從載入到卸載的全過程,即生命周期。Flutter 中的 Widget 也存在生命周期,並且通過 State 來體現。 而 App 則是一個特 ...
  • InheritedWidget是Flutter中非常重要的一個功能型組件,它提供了一種數據在widget樹中從上到下傳遞、共用的方式,比如我們在應用的根widget中通過InheritedWidget共用了一個數據,那麼我們便可以在任意子widget中來獲取該共用的數據。 ...
  • 垃圾分類小助手-生活的好幫手的技術支持,如果您使用中出現什麼問題或者對我們產品有什麼改進建議,請隨時與我聯繫。 電話:15990075212 郵箱:[email protected] 應用簡介 垃圾分類小助手-生活的好幫手能夠快速搜索垃圾分類,高效率識別垃圾分類,輕鬆解決垃圾分類難題 ...
  • XPath匹配標簽使用text()判斷獲取結果失敗/為空的問題及解決方法 ...
  • html平時常見的塊元素有:div, p, h1, h2, h3等,內聯元素有:span, a, img等。 塊元素的屬性:無論內容是什麼,都會獨占一整行。主要用於頁面佈局。 內聯元素的屬性:只占自身大小的元素,不會占用一行。主要用於選中文本設置樣式。 div塊元素僅僅只用於進行頁面佈局,它自身不帶 ...
  • 頁面echarts.js報錯:Uncaught TypeError: Cannot read property 'getAttribute' of null ...
  • 修改wxParse/html2json.js 文件 ,在 html2json(html, bindName) 方法里 這裡使用 node.tag 能夠獲取標簽類型,比如: img、embed、video 這裡我的系統後臺編輯器使用的是ckeditor 上傳視頻。生成的便簽是:embed 所以加上判斷 ...
  • Vue 的 父傳子 子傳父 一、父組件向子組件傳值: 父傳子 把需要的數據 傳遞給 子組件,以數據綁定(v-bind)的形式,傳遞到子組件內部,供子組件使用 縮寫是(:) 1.創建子組件,在src/components/文件夾下新建一個Child.vue 子組件 2.Child.vue的中創建pro ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...