我花了兩週學會 HTML — 這 5 個語意標籤是初學者真正需要的

更新 發佈閱讀 13 分鐘

學習 HTML 的第一週結束後,我看著自己的程式碼,發現到處都是 <div> 標籤。巢狀的 div、包著 div、再包著更多 div。程式碼能跑,但讀起來就像矇著眼睛走迷宮。

然後我發現了語意化 HTML 標籤,一切都變了。

raw-image

在第二週,我學會了只要 5 個語意標籤,就能把程式碼從混亂變成專業。這些語意化 HTML 標籤不只是最佳實踐——它們是「能跑的程式碼」和「易於維護、無障礙、對 SEO 友善的程式碼」之間的分水嶺。

如果你也是被 div 淹沒的初學者,這篇文章就是為你寫的。讓我告訴你,這 5 個必學標籤如何在接下來的兩週內,讓你的 HTML 功力大躍進。


<div> 的問題(以及我為什麼一直用它)

我真希望有人在第一天就告訴我:語意化 HTML 指的是使用能描述目的的標籤,而不只是「能用」的標籤。

身為初學者,我什麼都用 <div>。為什麼?因為它能用。因為大部分快速教學都這樣寫。因為思考「語意含義」感覺像是進階主題,可以之後再說。

但我沒意識到的是:

螢幕閱讀器無法導航我的網頁。 視障使用者沒辦法跳到導覽列或直接到主要內容。我「能用」的網站,排除了一整群人。

搜尋引擎無法理解我的內容結構。 Google 只能猜測我網頁的哪些部分比較重要。這對 SEO 不太好。

幾天後連我自己都看不懂。 回頭看一堆寫著 header-wrappercontent-container 類別名稱的 div,真的很累。我在用類別名稱寫文件,因為我的 HTML 本身什麼都沒說。

看看這個比較:

<!-- 之前:這到底是什麼? -->
<div class="header">
<div class="logo">我的網站</div>
<div class="menu">...</div>
</div>

<!-- 之後:一目了然 -->
<header>
<h1>我的網站</h1>
<nav>...</nav>
</header>

視覺效果一樣。但意義完全不同。一個是自我說明、無障礙、對 SEO 友善的。另一個就只是... div。

一旦我理解了「為什麼」語意標籤很重要,學習這些基本標籤其實出乎意料地簡單。以下是你真正需要優先學會的 5 個。


核心 5 標籤:先掌握這些

1. <header> — 你的頁面開場白

它是什麼: 網頁、區塊或文章的介紹性內容或導覽輔助。

何時使用: 在網頁頂部、文章開頭,或是任何主要區塊的引言處。

我犯過的新手錯誤: 以為一個頁面只能有一個 header。錯了。你可以有多個 header——一個給網站、一個給每篇文章、一個給每個主要區塊。<header> 標籤講的是角色,不是位置

實際範例:

<!-- 網站 header -->
<header>
<h1>我的作品集</h1>
<nav>
<ul>
<li><a href="#about">關於</a></li>
<li><a href="#projects">專案</a></li>
</ul>
</nav>
</header>

<!-- 文章 header -->
<article>
<header>
<h2>我的第一篇部落格文章</h2>
<p>發佈於 <time datetime="2025-10-27">20251027</time></p>
</header>
<p>文章內容在這裡...</p>
</article>

💡 記住: <header> 是用來放介紹性內容,不只是頁面最上方。網頁本身、文章、區塊都可以有 header。


2. <nav> — 你的導覽中樞

它是什麼: 主要導覽區塊的容器,像是選單、目錄或麵包屑。

何時使用: 主要網站導覽、頁面內導覽,或任何主要的導覽連結群組。

我犯過的新手錯誤: 每一組連結都用 <nav>。別這樣。把它保留給主要導覽區塊。頁尾那三個社群媒體圖示?可能不需要 <nav>。你的主選單?絕對需要。

<nav>
<ul>
<li><a href="/">首頁</a></li>
<li><a href="/blog">部落格</a></li>
<li><a href="/contact">聯絡</a></li>
</ul>
</nav>

為什麼重要:

螢幕閱讀器會提供「跳到導覽」功能,這依賴 <nav> 標籤。搜尋引擎用它來理解你的網站結構。其他開發者不用看類別名稱,就能立刻知道這是導覽。

最佳實踐: 只在主要導覽區塊使用 <nav>,不是每組連結都要用。


3. <main> — 你的主要內容

它是什麼: 網頁的主要內容。主角。除了導覽、標頭、側邊欄和頁尾以外的所有內容。

何時使用: 包裹你的主要頁面內容。這是讓我卡關的規則:每個頁面只能有一個 <main>

我犯過的新手錯誤: 要不是完全忘記用它,就是試著在一個頁面用多個 <main>。一個頁面,一個主要內容區。就是這個規則。

<body>
<header>網站標頭</header>
<nav>網站導覽</nav>

<main>
<!-- 所有主要內容都放這裡 -->
<h1>歡迎來到我的網站</h1>
<p>這是主要內容...</p>
</main>

<footer>網站頁尾</footer>
</body>

為什麼重要:

螢幕閱讀器可以直接跳到 <main> 內的主要內容。「跳到主要內容」的無障礙連結就依賴這個標籤。搜尋引擎會優先處理 <main> 內的內容,因為它們知道這是你的重點。

⚠️ 重要: 每個頁面只能有一個 <main>。除了標頭、導覽、側邊欄和頁尾以外,所有東西都放進 <main>


4. <article> — 獨立的內容

它是什麼: 一個獨立的內容片段,脫離頁面其他部分仍然有意義。

何時使用: 部落格文章、新聞報導、產品卡片、論壇貼文、使用者留言——任何可以被抽出來在別處發布、仍然有意義的內容。

我犯過的新手錯誤:<article><section> 搞混。它們很像,但區別在於:這個內容可以被聯播、分享或在別處重新發布嗎?如果可以,它大概是 <article>

<main>
<article>
<header>
<h2>理解語意化 HTML</h2>
<p>作者:Leon Wong | 20251027</p>
</header>
<p>文章內容在這裡...</p>
<footer>
<p>標籤:HTML, 網頁開發</p>
</footer>
</article>

<article>
<h2>CSS Flexbox 指南</h2>
<p>另一篇獨立的文章...</p>
</article>
</main>

我用的測試: 「我能把這個放進 RSS feed、電子報,或另一個網站而不會失去脈絡嗎?」如果可以 → <article>

💡 這樣想: 如果你可以把這段內容抽出來單獨發布,它大概就是 <article>


5. <section> — 主題分組

它是什麼: 內容的主題分組,通常有自己的標題。

何時使用: 長文章中的章節、分頁內容、頁面內的主題區域——任何你在共同主題下分組相關內容的地方。

我犯過的新手錯誤:<section> 當作樣式包裝器。如果你只是為了套用 CSS 而分組元素,用 <div>。只有在分組有語意意義時才用 <section>

<article>
<h1>我的學習旅程</h1>

<section>
<h2>第一週:HTML 基礎</h2>
<p>在第一週,我學到...</p>
</section>

<section>
<h2>第二週:語意標籤</h2>
<p>在第二週,我發現...</p>
</section>
</article>

我用的測試: 「這個內容有自然的標題嗎?」如果有 → 大概是 <section>

經驗法則: 如果你的內容需要標題才有意義,用 <section>。如果只是為了樣式而分組,用 <div>


這 5 個標籤如何改造我的程式碼

讓我展示一個實際頁面結構的前後對比:

之前(全部都是 div):

<div class="header">
<div class="logo">我的部落格</div>
<div class="nav">
<a href="/">首頁</a>
<a href="/about">關於</a>
</div>
</div>

<div class="content">
<div class="post">
<div class="post-header">
<h1>我的文章標題</h1>
</div>
<div class="post-content">
<p>文章內容在這裡...</p>
</div>
</div>
</div>

<div class="footer">
<p>© 2025 我的部落格</p>
</div>

之後(語意標籤):

<header>
<h1>我的部落格</h1>
<nav>
<a href="/">首頁</a>
<a href="/about">關於</a>
</nav>
</header>

<main>
<article>
<header>
<h2>我的文章標題</h2>
</header>
<section>
<p>文章內容在這裡...</p>
</section>
</article>
</main>

<footer>
<p>&copy; 2025 我的部落格</p>
</footer>

改變了什麼:

結構瞬間清晰了。開發者只要瞄一眼,幾秒內就能理解頁面層級。無障礙工具可以正確導覽。搜尋引擎理解哪些內容最重要。而且我不需要複雜的類別名稱來說明每個元素的作用——HTML 本身就是自我說明的。


信心的轉變

在第二週學會這 5 個語意標籤,徹底改變了我寫 HTML 的方式。

接下來的學習變得很自然。學 <aside> 用於側邊欄、<footer> 用於頁尾內容,還有更進階的語意標籤,都不覺得困難——它們都符合我已經建立的心智模型。

最棒的部分?無障礙性、SEO 和可維護性不再是「額外的工作」。它們從一開始就內建在我的程式碼中,因為我是根據目的選擇標籤,而不是外觀。

如果你跟我一樣在第二週學會這 5 個標籤,你寫的程式碼會比大部分學了好幾個月的初學者都好。這不是誇張——語意化 HTML 是區分專業程式碼和初學者程式碼的基本功之一。

重點整理:

語意化 HTML = 描述目的的標籤,而不只是外觀

必學 5 標籤: <header><nav><main><article><section>

好處: 內建無障礙性、SEO、可維護性和專業度

黃金法則: 根據目的選擇標籤,不是外觀


你的下一步

想練習嗎?這是你的作業:拿一個你用 div 建立的網頁,用這 5 個標籤重構它。

打開你最近的 HTML 專案。找出那些有語意類別名稱的 div,像是「header」、「navigation」或「main-content」。把它們換成正確的語意標籤。你會驚訝於程式碼變得多清楚。

你身為初學者最大的 HTML 困惑是什麼? 在底下留言,我會在下一篇文章處理它。我正在公開學習,分享我一路上發現的所有東西。

如果這篇文章對你有幫助,追蹤我以獲得更多初學者友善的網頁開發指南。下一篇:我會深入探討 CSS Flexbox 和 Grid,告訴你應該先學哪一個(附上你真正看得懂的視覺範例)。

讓我們一起寫出更好的程式碼。🚀

#HTML #網頁開發 #前端開發 #程式教學 #初學者指南 #語意化HTML #無障礙網頁 #SEO優化

留言
avatar-img
留言分享你的想法!
avatar-img
Leon Wong 282
3會員
18內容數
Hi,我是 Leon Wong(亮之)——電腦科學與開發愛好者,也是 Notion 重度使用者。如果你想更高效地學習與創作,這裡會是你的實用資源。
你可能也想看
Thumbnail
搬家不只添購必需品,更能透過蝦皮分潤計畫賺取零用金!本文分享近期搬家時添購的各種實用好物,包含多功能工作桌、電競椅、氣炸烤箱、收納神器等,並詳述如何透過蝦皮雙 11 活動聰明購物、善用優惠,同時利用分潤機制將敗家行為轉化為被動收入,推薦給想聰明消費又想賺額外收入的你!
Thumbnail
搬家不只添購必需品,更能透過蝦皮分潤計畫賺取零用金!本文分享近期搬家時添購的各種實用好物,包含多功能工作桌、電競椅、氣炸烤箱、收納神器等,並詳述如何透過蝦皮雙 11 活動聰明購物、善用優惠,同時利用分潤機制將敗家行為轉化為被動收入,推薦給想聰明消費又想賺額外收入的你!
Thumbnail
貓奴每月進貢的時間又來啦! 身為專業貢品官,我從蝦皮搜尋各種零食,只為取悅家中三位貓主子!結果究竟會是龍心大悅,亦或是冷眼相待,就讓我們繼續看下去~
Thumbnail
貓奴每月進貢的時間又來啦! 身為專業貢品官,我從蝦皮搜尋各種零食,只為取悅家中三位貓主子!結果究竟會是龍心大悅,亦或是冷眼相待,就讓我們繼續看下去~
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
本章目的是為讀者提供有關如何設置JavaScript開發環境的知識,包括在瀏覽器、Node.js和各種編輯器和IDE中編寫和運行JavaScript的信息。此外,本章還介紹了如何架設本地開發伺服器以模擬實際的網頁環境。這些知識對於希望開發前端應用或後端服務的JavaScript開發者來說都是必要的。
Thumbnail
本章目的是為讀者提供有關如何設置JavaScript開發環境的知識,包括在瀏覽器、Node.js和各種編輯器和IDE中編寫和運行JavaScript的信息。此外,本章還介紹了如何架設本地開發伺服器以模擬實際的網頁環境。這些知識對於希望開發前端應用或後端服務的JavaScript開發者來說都是必要的。
Thumbnail
想要自學 HTML 嗎?HTML 是一個相對簡單的標記語言,適合初學者。透過免費資源和互動平臺,你可以輕鬆地學習 HTML,並逐步提高技能。除了 HTML,你還可以瞭解免費網頁設計軟體,如 VS Code 和 Sublime Text。加油吧!
Thumbnail
想要自學 HTML 嗎?HTML 是一個相對簡單的標記語言,適合初學者。透過免費資源和互動平臺,你可以輕鬆地學習 HTML,並逐步提高技能。除了 HTML,你還可以瞭解免費網頁設計軟體,如 VS Code 和 Sublime Text。加油吧!
Thumbnail
本文介紹瞭如何寫 HTML 標籤,製作一個簡單的自我介紹網頁。透過介紹寫標籤的實例,讓讀者能夠更瞭解如何在 HTML 中使用不同的標籤。
Thumbnail
本文介紹瞭如何寫 HTML 標籤,製作一個簡單的自我介紹網頁。透過介紹寫標籤的實例,讓讀者能夠更瞭解如何在 HTML 中使用不同的標籤。
Thumbnail
HTML 標籤是網頁內容的基礎,透過學習不同的標籤,你可以設計出各式各樣的內容。本文介紹了各種基本的標籤,如標題、段落、修飾樣式、超連結以及區塊等,讓你對 HTML 標籤有更深入的瞭解。
Thumbnail
HTML 標籤是網頁內容的基礎,透過學習不同的標籤,你可以設計出各式各樣的內容。本文介紹了各種基本的標籤,如標題、段落、修飾樣式、超連結以及區塊等,讓你對 HTML 標籤有更深入的瞭解。
Thumbnail
人們對於學習HTML的興趣持續增長,本篇文章將解析HTML的架構、標籤、排序方式、標籤屬性和標籤結構解析的相關課程,為讀者提供全方位的學習體驗。
Thumbnail
人們對於學習HTML的興趣持續增長,本篇文章將解析HTML的架構、標籤、排序方式、標籤屬性和標籤結構解析的相關課程,為讀者提供全方位的學習體驗。
Thumbnail
本文章介紹了建立網頁的整個流程,包括設置 Templates, Views, Urls 等步驟。透過這些步驟,大家便能創建一個新的網頁,並成功測試。
Thumbnail
本文章介紹了建立網頁的整個流程,包括設置 Templates, Views, Urls 等步驟。透過這些步驟,大家便能創建一個新的網頁,並成功測試。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News