HTML 是網頁的骨幹,也是踏入前端開發的第一塊基石。想快速學會 HTML,最有效的方式不是死背標籤,而是「邊做邊學」:每學一個觀念,立刻複製範例、存成 .html 檔、用瀏覽器打開看結果。本文依照這個原則設計,每一章都附上可以直接複製、存檔就能執行的完整範例,跟著做完全部章節,您就能獨立寫出一個結構正確、符合搜尋引擎標準的網頁。
最快的 HTML 學習路線圖與方法
如果您的目標是「最短時間內能動手做網頁」,照著本文的章節順序走,總時數約 6~10 小時就能完成第一個作品。以下是建議的學習路線與時間配置:
| 階段 | 對應內容 | 學習重點 | 建議時間 |
|---|---|---|---|
| 第 1 步 | 認識 HTML 與第一個網頁 | 理解 HTML 角色、跑起您的第一個網頁 | 30 分鐘 |
| 第 2 步 | 文字排版與圖片連結 | 文字、標題、圖片、連結,涵蓋網頁 80% 的內容 | 2 小時 |
| 第 3 步 | 區塊與行內元素 | 容器觀念,是未來學 CSS 排版的地基 | 1 小時 |
| 第 4 步 | 列表、表格與表單 | 資料呈現與使用者互動的三種結構 | 2 小時 |
| 第 5 步 | 語意化標籤與 SEO 檢核 | HTML5 語意化與 SEO 基礎設定 | 2 小時 |
| 驗收 | 個人介紹網頁實戰 | 整合所有觀念,做出一頁完整作品 | 1~2 小時 |
學習方法三原則
- 不要用看的,要用做的 每個範例都複製下來、存檔、開瀏覽器。眼睛看十次,不如手打一次。實際操作過的觀念才會真正留在腦中,也才能在出錯時知道去哪裡找問題。
- 改壞它 把範例的標籤刪掉、改掉,觀察畫面會發生什麼事,是理解 HTML 最快的方式。當您知道「拿掉這個標籤畫面會怎樣」,就等於理解了它的功能。
- 遇到不懂的標籤先跳過 HTML 標籤超過 100 個,常用的不到 30 個。先掌握本文的核心標籤就夠了,其餘的等實際需要時再查詢即可。
HTML 是什麼?網頁設計的骨骼
HTML 的全名是 HyperText Markup Language(超文本標記語言),它的工作是告訴瀏覽器:網頁上的內容「是什麼」。在開始寫程式碼之前,必須先理解 HTML 在網頁世界中的角色。如果不理解它的本質,就像蓋房子不懂打地基,蓋出來的網站既脆弱又難以被搜尋引擎理解。
什麼是 HTML?
請注意,HTML 不是一般的程式語言(Programming Language),而是一種標記語言。它不像 Python 或 Java 需要處理複雜的邏輯運算,HTML 的工作非常單純且專注:為網頁內容「貼上標籤」,讓瀏覽器與搜尋引擎知道哪一段是標題、哪一段是內文、哪裡是圖片。
網頁開發鐵三角:HTML、CSS 與 JavaScript
要讓一個現代網站運作,通常需要三種技術分工合作。我們可以用「蓋房子」來比喻:
本文聚焦於 HTML 這塊地基;打好基礎後,可依序閱讀 CSS 入門教學與 JavaScript 語法教學,補齊網頁開發的另外兩塊拼圖。
為什麼 SEO 重視 HTML?
10 分鐘跑起您的第一個網頁
一個標準的 HTML 檔案有固定的「樣板結構」(Boilerplate),就像公文有固定的格式。這一章的目標很簡單:讓您在 10 分鐘內,於瀏覽器看到自己寫的網頁。
準備工具(免費)
您不需要昂貴的軟體,微軟內建的記事本也能寫 HTML,但強烈建議使用 VS Code(Visual Studio Code)這類免費的專業編輯器,它有自動補齊與語法上色功能,能大幅降低打錯字的機率。
完整範例:您的第一個網頁
操作步驟:複製以下全部程式碼,貼到編輯器,存檔為 index.html,再對檔案點兩下用瀏覽器打開。
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的第一個網頁</title>
</head>
<body>
<h1>哈囉!您好,HTML!</h1>
<p>這是我建立的第一個網頁內容。</p>
</body>
</html>
看到畫面上出現大標題了嗎?恭喜,您已經是「會寫網頁的人」了。
程式碼逐行解析
這段程式碼分為幾個關鍵部分,缺一不可:
<!DOCTYPE html>:這不是標籤,而是「聲明」。它告訴瀏覽器:「我使用的是最新的 HTML5 標準。」<html lang="zh-Hant-TW">:根元素,包住所有內容。lang屬性非常重要,它告訴瀏覽器與搜尋引擎這是「繁體中文(台灣)」的網頁,有助於在地化 SEO。<head>(頭部):放的是給瀏覽器和搜尋引擎看的資訊,使用者在畫面上看不到。包含網頁標題(title)、編碼設定(charset)等。<body>(身體):放的是給使用者看的內容。您在瀏覽器視窗中看到的所有文字、圖片、影片,全部都寫在這裡。
<title> 裡的文字改成您的名字,存檔後重新整理瀏覽器,觀察瀏覽器分頁標籤的變化。
掌握文字排版:標題、段落與強調
文字是網頁資訊傳遞的核心,而每一種文字標籤都有它的「語意」(Semantic),不應該只為了「讓字變大」而使用標題標籤。這一章帶您掌握標題階層、段落與強調標籤的正確用法。
完整範例:文字排版練習頁
複製存檔為 text.html,打開後對照程式碼與畫面:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文字排版練習</title>
</head>
<body>
<h1>網頁主標題(一頁只能有一個 H1)</h1>
<h2>第一個章節標題</h2>
<p>這是一個段落。瀏覽器會在段落上下自動留出空白間距,讓閱讀更舒適。</p>
<p>這是第二個段落,其中有<strong>非常重要的重點文字</strong>,
也有<b>純粹視覺上的粗體</b>。</p>
<h2>第二個章節標題</h2>
<h3>章節底下的小節</h3>
<p>詩詞或地址這種需要緊密換行的內容,才使用 br 標籤:</p>
<p>
台中市西區台灣大道二段000號<br>
新視野網頁設計
</p>
</body>
</html>
標題標籤(Heading Tags):H1 至 H6
HTML 提供六個等級的標題,從 <h1>(最大、最重要)到 <h6>(最小、最不重要)。SEO 關鍵心法有兩條:
- H1 是王牌:一個頁面只能有一個 H1,通常用在文章的主標題。搜尋引擎會將 H1 視為該頁面最核心的主題。
- 階層要分明:不要跳著用。正確順序是 H1、H2、H3,不要因為覺得 H3 的字體大小比較剛好,就跳過 H2 直接用 H3。
段落(Paragraph)與換行
<p>:定義一個段落,瀏覽器會自動加上段落間距。<br>:強制換行標籤。正確用法是詩詞、地址這類需要緊密換行的內容;錯誤用法是連用多個<br>製造段落距離,這種情況請改用 CSS 的 margin。
重要的強調標籤:Strong 與 B 的差異
這兩個標籤在視覺上都會讓字體變粗,但在 SEO 眼中意義完全不同:
| 標籤 | 語法 | 視覺效果 | SEO 與語意意義 |
|---|---|---|---|
| Strong | <strong>重點</strong> |
粗體 | 強烈語氣強調,告訴搜尋引擎這裡的文字「非常重要」。 |
| Bold | <b>文字</b> |
粗體 | 純粹視覺上的粗體,沒有語氣上的強調意義。 |
<strong>,這有助於搜尋引擎抓取文章重點。
豐富您的網頁:圖片與超連結
圖片吸引目光、連結引導動線,兩者是讓使用者願意停留的關鍵,也是搜尋引擎判斷網頁內容豐富度與關聯性的重要指標。純文字的網頁太枯燥了,這一章帶您把圖片與連結正確地放進網頁。
完整範例:圖片與連結練習頁
複製存檔為 media.html,範例使用線上示意圖網址,存檔即可直接看到效果:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>圖片與連結練習</title>
</head>
<body>
<h1>圖片與超連結</h1>
<h2 id="img-demo">圖片示範</h2>
<img src="https://placehold.co/500x300" alt="灰色示意圖:500 乘 300 像素" width="500">
<h2 id="link-demo">連結示範</h2>
<p>外部連結:<a href="https://www.google.com" target="_blank" rel="noopener">前往 Google(開新分頁)</a></p>
<p>站內連結:<a href="index.html">回到我的第一個網頁</a></p>
<p>錨點連結:<a href="#img-demo">跳回上方的圖片示範</a></p>
</body>
</html>
圖片標籤 img
圖片標籤是一個「單標籤」(Self-closing tag),不需要結束標籤,因為它不包含文字內容。
src(Source):圖片的路徑。絕對路徑是完整的網址,如https://www.example.com/pic.jpg;相對路徑是圖片相對於 HTML 檔案的位置,如images/pic.jpg,推薦用於網站內部圖片。width與height:設定圖片寬高。建議設定其中一個數值即可,以免圖片比例變形。
alt(Alternative Text,替代文字)是很多新手會忽略、但 SEO 專家最重視的屬性:第一,視障人士使用螢幕閱讀器時,機器會唸出 alt 的內容,是無障礙瀏覽的基礎;第二,爬蟲看不懂圖片畫面,它讀的是 alt,想讓圖片出現在圖片搜尋結果中,alt 必須精準描述圖片內容,寫「紅色法拉利跑車」優於「車子」或「IMG_001」;第三,網路太慢圖片跑不出來時,網頁會顯示這段文字作為備案。
超連結 a:網路世界的橋樑
WWW(World Wide Web)的核心就是連結。
href(Hypertext Reference):指定連結要去的地方。target="_blank":在新分頁開啟連結,保留原本的頁面。搭配rel="noopener"使用更安全。
錨點連結(Anchor Link)是點擊「目錄」就自動滑到該章節的功能,做法只有兩步:
-
先給目標設定 ID
在目標元素加上 id 屬性,例如
<h2 id="section1">第一章</h2>。 -
連結指向該 ID
在連結的 href 前加上井字號,例如
<a href="#section1">跳到第一章</a>,點擊後頁面就會滑動到目標位置。
容器的概念:區塊元素與行內元素
HTML 標籤天生分為「區塊元素」與「行內元素」兩大類,它們在網頁上的「佔地盤」方式完全不同。這是初學者最容易卡關,卻也是未來學 CSS 排版最重要的觀念。
完整範例:親眼看出兩者差異
複製存檔為 block-inline.html,範例加了背景色,讓您一眼看出佔位差異:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>區塊與行內元素</title>
</head>
<body>
<h1>區塊 vs 行內</h1>
<div style="background:#ffe0e0;">我是 div(區塊元素),佔滿整行</div>
<div style="background:#ffd0d0;">我也是 div,自動換到下一行</div>
<p>
這一段裡有 <span style="background:#d0e8ff;">span(行內元素)</span>
和 <a href="#">連結</a>,它們都
<span style="background:#d0ffd0;">乖乖排在同一行</span>,不會換行。
</p>
</body>
</html>
區塊元素(Block Elements)
- 特性:霸道。無論內容多少,預設都會佔滿整整一行,並且自動換行。
- 常見標籤:
<h1>至<h6>、<p>、<div>、<ul>、<li>。 - 用途:作為網頁的「骨架」或「容器」,劃分版面區域。
行內元素(Inline Elements)
- 特性:隨和。內容有多少就佔多少空間,不會自動換行,會跟其他文字並排。
- 常見標籤:
<a>、<span>、<img>、<strong>。 - 用途:修飾文字或作為段落中的小元件。
無語意容器雙雄:Div 與 Span
有兩個標籤本身沒有任何特殊意義,純粹是為了「包裝內容」以便用 CSS 設定樣式:
| 標籤 | 類型 | 用途 |
|---|---|---|
<div> |
Block(區塊) | 網頁排版的主力。例如包住頁首、側邊欄、文章區塊。 |
<span> |
Inline(行內) | 文字樣式微調。例如把段落中的某兩個字變成紅色。 |
-
常見錯誤:把區塊元素塞進行內容器或 p 裡面
錯誤寫法:
<p>這是一段文字<div>插進來的區塊</div></p>。瀏覽器解析時會強制把段落拆開,導致結構混亂。正確寫法:<div><p>文字段落</p><div>另一個區塊</div></div>,讓區塊包區塊、段落只放文字與行內元素。
資料呈現與互動:列表、表格與表單
網頁不只是展示文章,還需要整理數據(表格)和收集使用者資訊(表單)。這一章用一個三合一範例,一次看懂列表、表格、表單三種結構。
完整範例:三合一練習頁
複製存檔為 data.html:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>列表、表格與表單</title>
</head>
<body>
<h1>資料呈現與互動</h1>
<h2>無序列表(導覽選單的骨架)</h2>
<ul>
<li>首頁</li>
<li>關於我們</li>
<li>產品介紹</li>
</ul>
<h2>有序列表(步驟教學)</h2>
<ol>
<li>複製範例程式碼</li>
<li>存檔為 .html</li>
<li>用瀏覽器打開</li>
</ol>
<h2>表格(呈現數據)</h2>
<table border="1">
<tr>
<th>方案</th>
<th>價格</th>
</tr>
<tr>
<td>基本版</td>
<td>免費</td>
</tr>
<tr>
<td>專業版</td>
<td>NT$ 990/月</td>
</tr>
</table>
<h2>表單(與使用者互動)</h2>
<form action="/submit-data" method="POST">
<label for="username">姓名:</label>
<input type="text" id="username" name="user_name" placeholder="請輸入姓名">
<br><br>
<label for="email">信箱:</label>
<input type="email" id="email" name="user_email">
<br><br>
<button type="submit">送出資料</button>
</form>
</body>
</html>
列表系統(Lists)
幾乎所有網站的導覽列(Menu),骨子裡都是「無序列表」。
<ul>(Unordered List)無序列表:預設前方會有小黑點,用於選單、條列重點。<ol>(Ordered List)有序列表:預設前方有 1、2、3 的數字排序,適合步驟教學。
表格結構 table
早期的網頁設計會用表格來排版,這是應該淘汰的舊做法,現在表格只應該用來呈現數據。
<table>:表格容器。<tr>(Table Row):橫的一列。<th>(Table Header):標題儲存格,文字自動加粗置中。<td>(Table Data):一般的資料儲存格。
表單基礎 form
表單是網頁與使用者互動的介面,例如登入、註冊、搜尋框。
<input>:最多變的標籤。透過type屬性可以變成文字框(text)、密碼框(password)、單選圓鈕(radio)或核取方塊(checkbox)。<label>:透過for屬性綁定輸入框的id,點擊文字也能聚焦到輸入框,對手機使用者非常友善。
進階必學:HTML5 語意化標籤
語意化就是「用對的標籤做對的事」,寫出機器讀得懂的結構,是 AI 搜尋時代 SEO 的決勝關鍵。如果您打開早年的網站原始碼,會看到滿滿的 <div>;在 HTML5 時代,這種寫法已經被語意化標籤取代。
什麼是「語意化」?
- 沒有語意:
<div>和<span>。它們只告訴瀏覽器「這裡是一個區塊」,但沒說這個區塊是做什麼的。 - 有語意:
<header>、<footer>、<article>。它們清楚定義了內容的目的。
搜尋引擎的爬蟲是機器人。當它看到 <nav>,立刻知道「這是導覽列,很重要」;看到 <footer>,它知道「這是版權宣告,權重較低」。語意化標籤能幫助搜尋引擎與 AI 搜尋工具更精準地索引您的網頁內容。
核心語意標籤詳解
<header>(頁首):通常包含網站 LOGO、搜尋框或導覽列。<nav>(導覽列):放置主要的連結選單,搜尋引擎會極度重視這裡的連結。<main>(主要內容):每個頁面只能有一個<main>,是網頁的核心區域,不包含側邊欄或頁首頁尾。<article>(文章):獨立、完整的內容區塊。判斷標準:如果把這塊內容單獨拿出來放在別的地方,語意依然完整嗎?如果是,就用<article>。<section>(區塊):具有特定主題的內容群組,通常包含一個標題(h2 至 h6)。<aside>(側邊欄):與主要內容有間接關係的區塊,例如相關文章推薦、作者簡介。<footer>(頁尾):版權宣告、聯絡資訊、Sitemap 連結。
完整範例:語意化網頁骨架
複製存檔為 semantic.html,這就是現代網站的標準骨架,可直接當作您未來所有專案的起手式:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>語意化網頁骨架範本</title>
</head>
<body>
<header>
<h1>網站名稱 LOGO</h1>
<nav>
<ul>
<li><a href="#">首頁</a></li>
<li><a href="#">服務項目</a></li>
<li><a href="#">聯絡我們</a></li>
</ul>
</nav>
</header>
<main>
<article>
<h2>文章標題</h2>
<p>這裡是文章的主要內容……</p>
<section>
<h3>文章的第一個小節</h3>
<p>小節內容……</p>
</section>
</article>
<aside>
<h3>相關文章推薦</h3>
<ul>
<li><a href="#">延伸閱讀一</a></li>
<li><a href="#">延伸閱讀二</a></li>
</ul>
</aside>
</main>
<footer>
<p>© 我的網站|聯絡信箱:hello@example.com</p>
</footer>
</body>
</html>
舊式寫法(Div Soup)與語意化寫法的差別,一眼就能看出來:
<!-- 舊式:搜尋引擎看不出區塊的意義 --> <div class="header">...</div> <div class="content">...</div> <div class="footer">...</div> <!-- 語意化:結構一目了然,SEO 友善 --> <header>...</header> <main>...</main> <footer>...</footer>
SEO 工程師的 HTML 優化檢核表
網站上線前,資深工程師都會拿出一張 Check List 做最後確認。這不僅是為了程式碼整潔,更是為了讓搜尋引擎與 AI 搜尋工具正確理解您的網站。
TDK 三劍客設定
雖然現在 Keywords 的權重已降低,但 Title 和 Description 依然是 SEO 的靈魂:
<title>:確保每個頁面都有獨一無二的標題,並且包含關鍵字。- Description(
<meta name="description">):搜尋結果頁(SERP)標題下方的小字,直接影響使用者的點擊率(CTR)。
Open Graph(OG)社群標籤
網址貼到 LINE 或 Facebook 時會變成漂亮的圖文卡片,就是因為設定了 OG 標籤,這能大幅增加網頁在社群媒體上的曝光效果。對台灣中小企業來說,LINE 分享卡片的完整度直接影響顧客點擊意願,是不能省略的基本設定。
完整範例:SEO-Ready 的 head 範本
以下是一份可直接複製套用的完整 <head> 範本,把內容換成您自己的即可:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<!-- 基本設定 -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- SEO:TDK -->
<title>頁面標題|品牌名稱(建議 30 字以內)</title>
<meta name="description" content="用 80~110 個字描述這一頁的內容重點,會顯示在搜尋結果,直接影響點擊率。">
<!-- SEO:標準網址(避免重複內容) -->
<link rel="canonical" href="https://www.example.com/this-page.html">
<!-- 社群分享:Open Graph -->
<meta property="og:title" content="文章標題">
<meta property="og:description" content="文章簡介">
<meta property="og:image" content="https://www.example.com/cover.jpg">
<meta property="og:url" content="https://www.example.com/this-page.html">
<meta property="og:type" content="article">
</head>
<body>
<!-- 網頁內容 -->
</body>
</html>
程式碼整潔度(Code Hygiene)
- 縮排(Indentation):保持一致的縮排,通常是 2 或 4 個空白鍵,結構一目了然。
- 註解(Comments):在複雜區塊加上
<!-- 註解 -->,方便日後維護。 - 避免過度巢狀(Nested Hell):不要寫出
<div><div><div>這種深不見底的結構,會拖慢讀取速度。
完整實戰:做出您的個人介紹網頁
學完前面的章節,是時候驗收了。以下是一份整合所有觀念的完整網頁:語意化架構、TDK、圖片 alt、錨點目錄、表格、表單全部到位。複製存檔為 about-me.html,把內容換成您自己的,您的第一個作品就完成了。
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>王小明的個人網頁|前端學習中</title>
<meta name="description" content="王小明的個人介紹網頁:自學 HTML 的第一個完整作品,包含自我介紹、學習歷程與聯絡表單。">
<meta property="og:title" content="王小明的個人網頁">
<meta property="og:description" content="自學 HTML 的第一個完整作品。">
<meta property="og:image" content="https://placehold.co/1200x630">
</head>
<body>
<header>
<h1>王小明的個人網頁</h1>
<nav>
<ul>
<li><a href="#about">關於我</a></li>
<li><a href="#skills">學習歷程</a></li>
<li><a href="#contact">聯絡我</a></li>
</ul>
</nav>
</header>
<main>
<article>
<section id="about">
<h2>關於我</h2>
<img src="https://placehold.co/300x300" alt="王小明的個人照片" width="300">
<p>大家好,我是<strong>王小明</strong>,目前正在自學網頁開發。
這是我用純 HTML 完成的第一個網頁作品。</p>
<p>我的學習目標依序是:</p>
<ol>
<li>HTML:網頁結構(本頁作品)</li>
<li>CSS:外觀與排版</li>
<li>JavaScript:互動功能</li>
</ol>
</section>
<section id="skills">
<h2>學習歷程</h2>
<table border="1">
<tr>
<th>時間</th>
<th>學習內容</th>
<th>狀態</th>
</tr>
<tr>
<td>第 1 週</td>
<td>HTML 基礎語法與語意化標籤</td>
<td>完成</td>
</tr>
<tr>
<td>第 2 週</td>
<td>CSS 選擇器與盒模型</td>
<td>進行中</td>
</tr>
</table>
</section>
<section id="contact">
<h2>聯絡我</h2>
<form action="/submit" method="POST">
<label for="name">您的姓名:</label>
<input type="text" id="name" name="name" placeholder="請輸入姓名">
<br><br>
<label for="mail">您的信箱:</label>
<input type="email" id="mail" name="mail" placeholder="name@example.com">
<br><br>
<label for="msg">想說的話:</label>
<br>
<textarea id="msg" name="msg" rows="4" cols="40" placeholder="留言給我吧"></textarea>
<br><br>
<button type="submit">送出留言</button>
</form>
</section>
</article>
<aside>
<h3>我的學習資源</h3>
<ul>
<li><a href="https://developer.mozilla.org/zh-TW/" target="_blank" rel="noopener">MDN Web Docs</a></li>
</ul>
</aside>
</main>
<footer>
<p>© 王小明|<a href="#about">回到頂部</a></p>
</footer>
</body>
</html>
HTML 常用標籤速查總表
全部 HTML 標籤超過 100 個,但以下約 60 個已涵蓋實務 95% 的使用場景。本表整理本文出現過、以及實務上最常用的標籤,依用途分類。建議把這張表存起來,寫網頁時當字典查:記不住標籤沒關係,知道去哪裡查才重要。
文件結構(每個網頁的必備骨架)
| 標籤 | 名稱 | 用途說明 |
|---|---|---|
<!DOCTYPE html> |
文件聲明 | 宣告使用 HTML5 標準,必須放在檔案第一行 |
<html> |
根元素 | 包住整份文件,記得加 lang="zh-Hant-TW" |
<head> |
頭部 | 放給瀏覽器與搜尋引擎看的資訊,畫面上看不到 |
<body> |
身體 | 放所有使用者看得到的內容 |
<title> |
網頁標題 | 顯示在瀏覽器分頁與搜尋結果,是 SEO 核心 |
<meta> |
中繼資料 | 設定編碼(charset)、手機縮放(viewport)、描述(description) |
<link> |
外部資源 | 引入 CSS 檔案、設定 canonical 標準網址 |
<script> |
程式腳本 | 引入或撰寫 JavaScript |
語意化區塊(HTML5 排版骨架)
| 標籤 | 名稱 | 用途說明 |
|---|---|---|
<header> |
頁首 | 網站 LOGO、導覽列所在區域 |
<nav> |
導覽列 | 主要連結選單,搜尋引擎極重視這裡的連結 |
<main> |
主要內容 | 頁面核心區域,每頁只能有一個 |
<article> |
文章 | 獨立完整的內容,如一篇部落格文章 |
<section> |
區塊 | 有特定主題的內容群組,通常搭配標題 |
<aside> |
側邊欄 | 相關文章、作者簡介等間接相關內容 |
<footer> |
頁尾 | 版權宣告、聯絡資訊 |
<div> |
無語意區塊 | 純排版容器,語意化標籤都不適用時才用 |
文字內容
| 標籤 | 名稱 | 用途說明 |
|---|---|---|
<h1>~<h6> |
標題 | 六級標題,H1 每頁僅一個,階層不可跳級 |
<p> |
段落 | 定義段落,自動產生上下間距 |
<br> |
換行 | 強制換行,僅用於地址、詩詞等緊密換行 |
<hr> |
分隔線 | 主題轉換的水平分隔線 |
<strong> |
重點強調 | 粗體加語意強調,SEO 權重較高,優先使用 |
<b> |
粗體 | 純視覺粗體,無語意 |
<em> |
語氣強調 | 斜體加語意強調 |
<i> |
斜體 | 純視覺斜體,無語意 |
<span> |
行內容器 | 無語意,用於文字局部套用 CSS |
<blockquote> |
引用區塊 | 引用他人的整段文字 |
<code> |
程式碼 | 行內顯示程式碼片段 |
<pre> |
預格式化 | 保留原始空白與換行,常與 code 標籤搭配 |
圖片與多媒體
| 標籤 | 名稱 | 用途說明 |
|---|---|---|
<img> |
圖片 | 單標籤,src 指定路徑、alt 必填(SEO 與無障礙關鍵) |
<figure> |
圖表容器 | 包住圖片與其說明文字 |
<figcaption> |
圖片說明 | 放在 figure 內的圖片標題文字 |
<video> |
影片 | 嵌入影片檔,可加 controls 顯示播放控制 |
<audio> |
音訊 | 嵌入聲音檔 |
<iframe> |
內嵌框架 | 嵌入外部網頁,如 YouTube 影片、Google 地圖 |
連結
| 標籤或屬性 | 名稱 | 用途說明 |
|---|---|---|
<a href="..."> |
超連結 | 網路世界的橋樑,href 指定目的地 |
target="_blank" |
新分頁開啟 | 搭配 rel="noopener" 使用更安全 |
href="#id名稱" |
錨點連結 | 頁內跳轉,目標元素需先設定 id |
href="mailto:..." |
電郵連結 | 點擊開啟郵件軟體 |
href="tel:..." |
電話連結 | 手機點擊直接撥號,行動版必備 |
列表
| 標籤 | 名稱 | 用途說明 |
|---|---|---|
<ul> |
無序列表 | 前方為小黑點,導覽選單的骨架 |
<ol> |
有序列表 | 前方為數字,適合步驟教學 |
<li> |
列表項目 | 放在 ul 或 ol 內的每一項 |
<dl> |
描述列表 | 「名詞加解釋」的成對列表 |
<dt>/<dd> |
名詞或描述 | dt 放名詞、dd 放對應解釋 |
表格
| 標籤 | 名稱 | 用途說明 |
|---|---|---|
<table> |
表格容器 | 只用於呈現數據,不可用於排版 |
<tr> |
橫列 | Table Row,表格的一列 |
<th> |
標題儲存格 | 自動加粗置中,放欄位名稱 |
<td> |
資料儲存格 | 一般資料內容 |
<thead>/<tbody>/<tfoot> |
表格分區 | 標示表頭、表身、表尾,利於語意與樣式 |
<caption> |
表格標題 | 整張表格的說明文字 |
表單
| 標籤或屬性 | 名稱 | 用途說明 |
|---|---|---|
<form> |
表單容器 | action 指定送出位置、method 指定方式(GET 或 POST) |
<input type="text"> |
文字框 | 單行文字輸入 |
<input type="email"> |
信箱框 | 手機自動跳出含 @ 的鍵盤 |
<input type="tel"> |
電話框 | 手機自動跳出數字鍵盤 |
<input type="password"> |
密碼框 | 輸入內容顯示為圓點 |
<input type="radio"> |
單選圓鈕 | 多選一,同組需相同 name |
<input type="checkbox"> |
核取方塊 | 可複選 |
<textarea> |
多行文字框 | 留言、意見等長文字輸入 |
<select>/<option> |
下拉選單 | select 包住多個 option 選項 |
<label> |
欄位標籤 | for 綁定輸入框 id,點文字即聚焦,手機友善 |
<button type="submit"> |
送出按鈕 | 觸發表單送出 |