【前端】【HTML】【總復習】一萬六千字詳解HTML 知識體系

?? HTML 知識體系

一、HTML 基礎入門

1. HTML 簡介與作用

HTML(HyperText Markup Language,超文本標記語言)是構建網頁的基礎語言。它的核心作用是:

  • 定義網頁內容的結構(標題、段落、圖片、表格等)
  • 提供語義化標簽,幫助搜索引擎與輔助設備理解頁面內容
  • 配合 CSS 實現頁面樣式、配合 JS 實現交互功能

簡而言之:HTML 是網頁的骨架。


2. HTML 文件結構

一個完整的 HTML 頁面通常包含以下基本結構:

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>我的網頁</title></head><body><h1>Hello HTML!</h1></body>
</html>
核心組成:
元素作用
<!DOCTYPE>聲明 HTML5 文檔類型,瀏覽器按標準模式解析
<html>根元素,包含整個頁面內容
<head>頁面頭部信息(元數據、引入資源)
<body>頁面可見內容

3. 常見開發工具與編輯器推薦

開發 HTML 網頁時,推薦使用以下編輯器(支持語法高亮、自動補全):

  • VS Code(推薦,輕量強大)
  • Sublime Text
  • WebStorm(功能強大,適合大型項目)
  • Notepad++(輕量基礎)

?? 大多數現代瀏覽器也提供了強大的開發者工具(DevTools)用于調試頁面結構和樣式。


4. 標簽命名規范與大小寫約定

HTML 標簽命名建議遵循以下規范:

  • 小寫書寫標簽名(HTML5 標準推薦)
    ? 正確:<div><h1>;? 錯誤:<DIV><H1>
  • 使用語義化標簽(如 <header><article>)提升代碼可讀性與 SEO
  • 合理嵌套標簽,避免結構混亂
  • 屬性值建議使用 雙引號包裹,例如:class="title"

二、常用基礎標簽

HTML 提供了多種語義清晰的標簽,用于表達不同類型的內容結構。以下是最常用的一類基礎標簽。


1. 文本內容標簽

標簽作用描述
<h1>~<h6>標題標簽,<h1> 為最高級標題
<p>段落
<span>行內文本容器(無語義)
<strong>強調內容(加粗 + 語義)
<em>強調語氣(斜體 + 語義)
<br>換行(單標簽)
<hr>分隔線(單標簽)
<h2>HTML 是什么?</h2>
<p><strong>HTML</strong> 是網頁的結構語言。</p>
<span>這是一段內聯文字。</span>

2. 超鏈接標簽 <a>

標簽用于創建超鏈接,允許用戶從一個頁面跳轉到另一個頁面,或者執行其他操作,如跳轉到錨點、撥打電話、發送郵件等。

基本用法
<a href="https://www.example.com" target="_blank">訪問官網</a>
  • href: 必須屬性,指定鏈接目標地址,可以是一個網頁的 URL,或者是一個相對路徑。
  • target="_blank": 可選屬性,指定在新窗口或新標簽頁打開鏈接。常用于外部鏈接。
  • download: 可選屬性,表示點擊鏈接時下載指定資源,而不是直接打開該資源。
常見屬性
  • href: 設置鏈接的目標地址。
    • 例如,跳轉到一個網頁:<a href="https://www.example.com">官網</a>
    • 跳轉到頁面中的錨點:<a href="#section1">跳到第一個部分</a>
  • target: 控制鏈接打開的方式。
    • _blank: 在新窗口或標簽頁中打開鏈接。
    • _self(默認):在同一窗口或標簽頁中打開鏈接。
    • _parent: 在父窗口中打開鏈接。
    • _top: 在整個瀏覽器窗口中打開鏈接。
  • rel: 用來指定與目標文檔之間的關系。通常與 target="_blank" 一起使用,用來增強安全性。
    • 例如:<a href="https://www.example.com" target="_blank" rel="noopener noreferrer">官網</a>
    • noopener: 防止新頁面通過 window.opener 訪問原始頁面。
    • noreferrer: 防止傳遞 HTTP Referer 頭。
  • download: 表示點擊鏈接時觸發文件下載,而不是跳轉到該文件。
    • 例如:<a href="file.pdf" download="filename.pdf">下載 PDF</a>
  • tel: 用于撥打電話。
    • 例如:<a href="tel:+123456789">撥打電話</a>
  • mailto: 用于打開用戶的郵件客戶端并創建一個新郵件。
    • 例如:<a href="mailto:someone@example.com">發送郵件</a>
錨點鏈接
  • 用于在當前頁面中定位到特定部分。
<!-- 錨點目標 -->
<h2 id="section1">第一個部分</h2><!-- 錨點鏈接 -->
<a href="#section1">跳轉到第一個部分</a>
多重用途
  • 鏈接到電子郵件:
<a href="mailto:someone@example.com">發送郵件</a>
  • 鏈接到電話號碼:
<a href="tel:+1234567890">撥打電話</a>
無鏈接的 <a> 標簽

如果不為 href 屬性指定值,<a> 標簽仍然可以用作其他目的,如 JavaScript 事件監聽:

<a href="#" onclick="alert('按鈕點擊')">點擊我</a>

注意href="#" 常用于 JavaScript 操作中,但不建議過度使用,因為這會導致頁面滾動到頂部或產生不必要的行為。


3. 圖片與媒體標簽

圖片 <img>
<img src="logo.png" alt="網站Logo" width="100" loading="lazy" />
  • src: 圖片路徑
  • alt: 替代文本(無圖時代替顯示)
  • width/height: 控制圖片尺寸
  • loading="lazy": 啟用圖片懶加載,圖片只有在進入可視區域時才會加載
圖片懶加載(Lazy Loading)

使用 loading="lazy" 屬性可以實現圖片懶加載,優化頁面的加載性能,減少不必要的請求。只有當圖片滾動到視口時才會加載,從而加速頁面初始加載。

注意loading="lazy" 是 HTML5 中新增的屬性,現代瀏覽器(如 Chrome、Firefox、Edge)支持它。但老版本的瀏覽器可能不支持該功能,可以通過 JavaScript 或第三方庫(如 lazysizes)來實現懶加載。

音頻 <audio>
<audio controls src="music.mp3"></audio>
視頻 <video>
<video controls width="300"><source src="movie.mp4" type="video/mp4" />瀏覽器不支持該視頻。
</video>

4. 列表標簽

  • 無序列表 <ul> + <li>
  • 有序列表 <ol> + <li>
  • 定義列表 <dl> + <dt>(術語)+ <dd>(定義)
<ul><li>蘋果</li><li>香蕉</li>
</ul><ol><li>第一步</li><li>第二步</li>
</ol><dl><dt>HTML</dt><dd>網頁的結構</dd>
</dl>

5. 表格標簽

標簽作用
<table>表格容器
<tr>表格行
<td>單元格
<th>表頭單元格
<table border="1"><tr><th>姓名</th><th>年齡</th></tr><tr><td>小明</td><td

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/80612.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80612.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80612.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VC++ 獲取CPU信息的兩種方法

文章目錄 方法一&#xff1a;使用 Windows API GetSystemInfo 和 GetNativeSystemInfo (基本信息)編譯和運行代碼解釋 方法二&#xff1a;使用 __cpuid&#xff08;CPU序列號、特性等&#xff09;代碼解釋&#xff1a; 開發過程中需要使用 VC獲取電腦CPU信息&#xff0c;先總結…

Docker Compose 的歷史和發展

這張圖表展示了Docker Compose從V1到V2的演變過程&#xff0c;并解釋了不同版本的Compose文件格式及其支持情況。以下是對圖表的詳細講解&#xff1a; Compose V1 No longer supported: Compose V1已經不再支持。Compose file format 3.x: 使用了版本3.x的Compose文件格式。 …

24、TypeScript:預言家之書——React 19 類型系統

一、預言家的本質 "TypeScript是魔法世界的預言家之書&#xff0c;用靜態類型編織代碼的命運軌跡&#xff01;" 霍格沃茨符文研究院的巫師揮動魔杖&#xff0c;類型注解與泛型的星軌在空中交織成防護矩陣。 ——基于《國際魔法聯合會》第12號類型協議&#xff0c;Ty…

(2025,AR,NAR,GAN,Diffusion,模型對比,數據集,評估指標,性能對比)文本到圖像生成和編輯:綜述

【本文為我在去年完成的綜述&#xff0c;因某些原因未能及時投稿&#xff0c;但本文仍能為想要全面了解文本到圖像的生成和編輯的學習者提供可靠的參考。目前本文已投稿 ACM Computing Surveys。 完整內容可在如下鏈接獲取&#xff0c;或在 Q 群群文件獲取。 中文版為論文初稿&…

MATLAB的cvpartition函數用法

1. 函數作用 cvpartition 將數據集劃分為訓練集和測試集&#xff0c;支持多種交叉驗證方法&#xff0c;包括&#xff1a; Hold-Out驗證&#xff1a;單次劃分&#xff08;如70%訓練&#xff0c;30%測試&#xff09;K折交叉驗證&#xff1a;數據分為K個子集&#xff0c;依次用其…

Java【網絡原理】(5)深入淺出HTTPS:狀態碼與SSL/TLS加密全解析

目錄 1.前言 2.正文 2.1狀態碼 2.2HTTP與HTTPS的關系 2.3SSL協議 2.3.1對稱加密 2.3.2非對稱加密 2.3.3中間人攻擊 2.3.4校驗機制 2.3.4.1證書 2.3.4.2數字簽名 1. 數字簽名的生成過程 2. 數字簽名的驗證過程 2.4TLS協議&#xff08;握手過程&#xff09; 3.小結…

代碼隨想錄算法訓練營第三十七天

LeetCode題目: 300. 最長遞增子序列674. 最長連續遞增序列718. 最長重復子數組2918. 數組的最小相等和(每日一題) 其他: 今日總結 往期打卡 300. 最長遞增子序列 跳轉: 300. 最長遞增子序列 學習: 代碼隨想錄公開講解 問題: 給你一個整數數組 nums &#xff0c;找到其中最長…

【Java ee初階】網絡原理

TCP協議 1.確認應答 實現可靠傳輸的核心機制 2.超時重傳 實現可靠傳輸的核心機制 3.連接管理 網絡部分最高頻的面試題 4.滑動窗口 提高傳輸效率的機制 5.流量控制 依據接收方的處理能力&#xff0c;限制發送方的發送速度。 6.擁塞控制 依據傳輸鏈路的處理能力&#xff0c…

B站取關腳本

個人的賬號可能被盜了&#xff0c;發現關注數量蹦到3000多&#xff0c;然后b站沒有一鍵取關的按鈕&#xff0c;并且對api的訪問有速度限制&#xff0c;然后網上的腳本很多都已經失效了&#xff0c;所以自己稍微寫個簡陋的 測試時間: 2025.05.11 使用步驟: 進入b站的關注頁面…

PyGame游戲開發(含源碼+演示視頻+開結題報告+設計文檔)

前言&#xff1a; 大二小學期python課上基于pygame做的一個游戲小demo&#xff0c;當時老師花了一天講解了下python基礎語法后&#xff08;也是整個大學四年唯一學習python的時間&#xff09;&#xff0c;便讓我們自學網課一周然后交項目&#xff0c;所以做的非常倉促&#xff…

使用 React 實現語音識別并轉換功能

在現代 Web 開發中&#xff0c;語音識別技術的應用越來越廣泛。它為用戶提供了更加便捷、自然的交互方式&#xff0c;例如語音輸入、語音指令等。本文將介紹如何使用 React 實現一個簡單的語音識別并轉換的功能。 功能概述 我們要實現的功能是一個語音識別測試頁面&#xff0…

C++ 雙峰高斯函數擬合

C 雙峰高斯函數擬合 一維高斯函數二維高斯函數多維高斯函數一維雙峰高斯函數代碼實現 二維雙峰高斯函數代碼實現 多維多峰高斯函數 在數據分析與清洗中經常遇到這樣的數據&#xff1a;數據不僅僅向單個中心靠攏&#xff0c;而是類似分段的向兩個甚至多個中心靠攏。數據向單個中…

【RP2350】香瓜樹莓派RP2350之LED

本文最后修改時間&#xff1a;2025年05月10日 01:57 一、本節簡介 本節以樹莓派pico2開發板為例&#xff0c;舉例如何寫一個LED驅動加進工程里。 二、實驗平臺 1、硬件平臺 1&#xff09;樹莓派pico2開發板 ①樹莓派pico2開發板&#xff08;作為仿真器&#xff09; ②micr…

機器人運動控制原理淺析-UC Berkeley超視覺模態模型

加州伯克利發布的超視覺多感知模態融合(FuSe, Fuse Heterogeneous Sensory Data)模型&#xff0c;基于視覺、觸覺、聽覺、本體及語言等模態&#xff0c;利用自然語言跨模態對齊(Cross-Modal Grounding)優調視覺語言動作等通用模型&#xff0c;提高模型任務成功率。 總體框架 …

【Bootstrap V4系列】學習入門教程之 組件-媒體對象(Media object)

Bootstrap V4系列 學習入門教程之 組件-媒體對象&#xff08;Media object&#xff09; 媒體對象&#xff08;Media object&#xff09;一、Example二、Nesting 嵌套三、Alignment 對齊四、Order 順序五、Media list 媒體列表 媒體對象&#xff08;Media object&#xff09; B…

解決VirtualBox中虛擬機(ubuntu)與主機(windows)之間互相復制粘貼(文本)

一.開始的設置 1.在VirtualBox中打開設置&#xff0c;常規中修改主機與虛擬機交互設置 2.虛擬機關閉狀態下&#xff0c;存儲中選中控制器SATA&#xff0c;勾選‘使用主機輸入輸出’ 3.選中操作系統對應的虛擬文件&#xff0c;.vdi文件&#xff0c;勾選右邊的固態驅動器。 4.啟…

java 多核,多線程,分布式 并發編程的現狀 :從本身的jdk ,到 spring ,到其它第三方。

Java 在多核、多線程和高性能編程領域提供了豐富的現成框架和工具&#xff0c;既有標準庫中的并發組件&#xff0c;也有第三方框架。以下是一些關鍵框架及其應用場景的總結&#xff1a;便于后面我們站在巨人的肩膀上&#xff0c;繼續前行 一、Java 標準庫中的多線程框架 Execut…

Nodejs核心機制

文章目錄 前言 前言 結合 Node.js 的核心機制進行說明&#xff1a; 解釋事件循環的各個階段。 答案 Node.js 事件循環分為 6 個階段&#xff0c;按順序執行&#xff1a; Timers&#xff1a;執行 setTimeout 和 setInterval 的回調。 Pending I/O Callbacks&#xff1a;處理系…

C++筆記6:數字字面量后綴和前綴總結

在C中&#xff0c;可以在數字字面量后面添加字母后綴&#xff08;或前綴&#xff09;來表示特定的數據類型。這些后綴能夠明確指定字面量的類型&#xff0c;避免類型轉換帶來的潛在問題。以下是常見的幾種類型后綴及其含義&#xff1a; 1. 整數后綴 u 或 U&#xff1a;表示 u…

50.輻射抗擾RS和傳導抗擾CS測試環境和干擾特征分析

輻射抗擾RS和傳到抗擾CS測試環境和干擾特征分析 1. 輻射抗擾RS2. 傳導抗擾CS 1. 輻射抗擾RS 輻射抗擾RS考察對外界電磁場干擾得抗擾能力&#xff0c;測試頻段為80MHz~2000MHz&#xff0c;用1KHz得正弦波進行調幅&#xff0c;在電波暗室內進行。測試標準&#xff1a;IEC 61000-…