Vibe Coder

網頁是怎麼組成的?HTML 結構入門

HTML 是網頁的骨架語言,用標籤把內容組織成樹狀結構,瀏覽器解析後才渲染成畫面。學會看懂標籤、屬性與語意標籤,你才能判斷 AI 生成的網頁對不對,也能用精確的術語跟 AI 溝通要改哪裡。
網頁是怎麼組成的?HTML 結構入門

網頁是怎麼組成的?HTML 結構入門

AI 幫你生出一整個網頁只要幾秒鐘,但畫面不對的時候,你要能自己看懂那份 HTML,才知道問題出在哪裡、該怎麼跟 AI 描述修改需求。

這篇帶你從網頁的三層結構開始,一路學到用瀏覽器開發者工具拆解任何網頁,是 Vibe Coder 讀懂前端的第一步。

你將學到什麼

網頁的三層結構

結構、樣式、行為分別由誰負責,一次分清楚。

HTML 標籤速查

十個最常用標籤與屬性,看到就認得。

語意標籤為什麼重要

用對標籤,AI 跟搜尋引擎都更看得懂你的網頁。

用開發者工具找元素

F12 打開後,幾個步驟就能拆解任何網頁的結構。

網頁是怎麼組成的

每個網頁都由三個層次組成,各自分工明確,AI 生成網頁時也是照這個邏輯寫程式碼。

層次負責什麼語言比喻
結構內容是什麼、怎麼組織HTML建築的骨架
樣式看起來什麼樣子CSS裝潢和外觀
行為點了會發生什麼事JavaScript電路和機關
HTML 是樹狀結構HTML 裡的每個標籤都是一個節點,節點可以包含其他節點,形成父子關係。這個樹狀結構叫做 DOM(Document Object Model),瀏覽器把 HTML 解析成 DOM 後才渲染成你看到的畫面。

HTML 標籤速查

先記住這幾個最常用的標籤,看到 AI 生成的程式碼就能立刻對上號。

標籤用途範例寫法
h1 到 h6標題,數字越小越重要h1 包住主標題文字
p段落文字p 包住一段文字
div容器,用來分組元素div class="card"
span行內容器,不換行span class="highlight" 包住強調文字
a超連結a href="/about" 包住連結文字
img圖片img src="logo.png" alt="Logo"
input輸入框input type="text" placeholder="搜尋"
button按鈕button 包住按鈕文字
ul、li無序清單ul 底下包多個 li
table表格table 搭配 trtd
屬性是標籤的額外資訊每個標籤可以有屬性,格式是「屬性名等於屬性值」。最常見的有 id(唯一識別碼)、class(CSS 樣式類別)、href(連結目標)、src(來源)。

結構語意:為什麼用對標籤很重要

HTML5 引入了語意標籤,讓標籤本身說明它的用途,不只是視覺上的容器。

語意標籤代表什麼跟用 div 的差異
header頁首區塊比用 div class="header" 更有意義
nav導覽列搜尋引擎和螢幕閱讀器知道這是導覽
main主要內容明確標示頁面的核心區域
article獨立的文章或內容適合部落格文章、新聞
section主題相關的區塊通常有自己的標題
footer頁尾區塊版權、聯絡資訊
button可點擊的按鈕比用 div onclick 更有語意,也更容易用鍵盤操作
給 AI 說明 UI 時用語意標籤「幫我在 nav 裡加一個 button」比「在那個選單裡加一個可以點的東西」清楚很多,AI 能直接知道要修改哪個元素。

用瀏覽器開發者工具看任何網頁

按 F12(或 Cmd + Option + I)開啟開發者工具,這是前端最重要的工具,沒有之一。

  1. Elements 面板:看完整的 DOM 結構,點選任何元素可以看它的 HTML 和 CSS。滑鼠移到元素上,畫面上對應的區塊會高亮。
  2. 點選工具(左上角箭頭):點它再點畫面上任何元素,開發者工具自動跳到該元素的 HTML 位置,是最快找到元素的方法。
  3. Console 面板:JavaScript 的錯誤訊息會出現在這裡,前端壞了先來這裡看有沒有紅色錯誤。
  4. Network 面板:看所有的網路請求,包含 API 呼叫,可以看到請求的網址、狀態碼、回應內容。

讀懂 AI 生的 HTML

AI 常生成類似下面這種結構,先練習從外層往內層拆解著讀。

<div class="card">
  <div class="card-header">
    <h2 class="card-title">天氣資訊</h2>
  </div>
  <div class="card-body">
    <p id="temperature">28°C</p>
    <p class="description">晴天</p>
  </div>
</div>

讀法:從外層 div.card 開始,裡面有 div.card-header(標題區)和 div.card-body(內容區),內容區裡有兩個 p 標籤分別顯示溫度和天氣描述。id 是唯一識別碼,class 是 CSS 樣式類別。

div.card.card-header.card-bodyh2.card-titlep#temperaturep.description
瀏覽器把 HTML 標籤解析成一棵樹,每個標籤是一個節點。

練習:描述一段導覽列的結構

<nav class="navbar">
  <a href="/" class="logo">酒Ann</a>
  <ul class="nav-links">
    <li><a href="/courses">課程</a></li>
    <li><a href="/about">關於</a></li>
  </ul>
</nav>
試著自己說一次這是一個 nav 導覽列,裡面有一個 logo 連結和一個無序清單,清單有兩個項目(課程、關於),各自是連結到不同頁面的 a 標籤。能這樣拆解,就代表你讀懂了。

上手前的小提醒

打開你常用的網站,按 F12 開啟開發者工具,用點選工具點擊導覽列,找到對應的 HTML 元素,說出它用了什麼標籤和 class。能做到這一步,你就已經具備跟 AI 精確溝通前端問題的基礎能力了。

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

HTML、CSS、JavaScript 三者的差別是什麼?
HTML 負責內容和結構,CSS 負責外觀樣式,JavaScript 負責互動行為。可以想成建築的骨架、裝潢和電路,三者分工合作才組成一個完整網頁。
id 和 class 有什麼不同?
id 是元素的唯一識別碼,一個頁面裡每個 id 只能出現一次;class 是樣式類別,同一個 class 可以套用在多個元素上,一個元素也能有多個 class。
什麼是 DOM?
DOM(Document Object Model)是瀏覽器把 HTML 解析後建立的樹狀資料結構,每個標籤是一個節點,JavaScript 透過操作 DOM 改變頁面內容而不需要重新載入。
為什麼要用語意標籤而不是全部用 div?
像 nav、article、footer 這類語意標籤本身就說明了用途,搜尋引擎和螢幕閱讀器能直接理解頁面結構,跟 AI 溝通時也能更精確地指定要修改的區塊。