iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
Modern Web

Angular、React、Vue 三框架實戰養成:從零打造高品質前端履歷網站系列 第 1

Day 1 HTML 基本標籤與結構 – 從零開始打造履歷網站雛型

  • 分享至 

  • xImage
  •  

未來 30 天,我會帶大家從最最基礎 HTML、CSS、TypeScript,一路到 Angular、React、Vue 三大框架,最後完成一個 能放在履歷上的自我介紹網站。整個系列會以實作為主,因為我自己一開始學習也是喜歡慢慢一步一步看知識才實作,但發現這樣太慢了!!!!

我們直接設定目標,補足必要基礎知識,就立刻動手吧!最後提醒一些注意的地方,GOGO!


文章大綱

  1. 今日目標
  2. 在開始之前建立你的第一個 HTML 網頁檔
  3. 基礎概念 HTML 文件的基本結構
  4. 實作目標與頁面結構
  5. 實作 HTML 自我介紹履歷網站
  6. 小心踩雷
  7. Day 2 預告

1. 今日目標

  • 建立第一個 HTML 檔案
  • 了解 HTML 的基本結構
  • 認識最常用的標籤(例如 h1pimg…)
  • 用 HTML 做出一個「自我介紹履歷網站

2. 在開始之前建立你的第一個 HTML 網頁檔

如果你是第一次寫前端,請先照這幾步:

  1. 在電腦上任意地方,或是在新增資料夾,新增一個文字檔。
  2. 將檔案命名為 index.html,重點是附檔名要是 .html
    (在大多數情況下,網頁伺服器會自動把 index.html 當成網站的首頁,你未來把網站放到網路上,只要訪問一個資料夾,伺服器就會自動去找裡面的 index.html 並顯示出來,這是一個「慣例」,如果你只是自己練習,其實檔名取什麼都可以,例如 test.htmlhello.html)
  3. 用文字編輯器打開,推薦 VS Code,這個我最習慣用。
  4. 把稍後的程式碼貼進去並存檔。
  5. 在瀏覽器(Chrome、Edge、Firefox 都可)裡直接打開 index.html,你就能看到結果,現在應該是一片空白。

3. 基礎概念 HTML 文件的基本結構

下面是最小可用的 HTML:

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
  <meta charset="UTF-8">
  <title>我的自我介紹</title>
</head>
<body>
  哈囉,我是 Chiayu
  我是一名全端工程師
</body>
</html>

重點說明:

  • <!DOCTYPE html>:宣告 HTML5 文件,避免瀏覽器用相容模式渲染(腦袋有印象就好不用背)。
  • <html lang="zh-Hant">:根元素,lang 對 SEO 與無障礙很重要(腦袋有印象就好不用背)。
  • <head> 是 HTML 文件的 metadata 區域,用來提供關於網頁的資訊,例如標題、描述、編碼方式、外部資源引用等,這些資訊不會直接顯示在網頁上,但會影響瀏覽器呈現與搜尋引擎收錄。
  • <meta charset="UTF-8">:使用 UTF-8,避免中文亂碼。
  • <title>:分頁標題。
  • <body>:實際顯示在畫面上的內容。

https://ithelp.ithome.com.tw/upload/images/20250920/20168326329loXsT04.png


4. 實作目標與頁面結構

我們先來大概設定要做的雛型,在寫任何程式碼前腦袋都要先有畫面!

  1. Header(標頭):名字、職稱、導覽列
  2. Main(主要內容):自我介紹、技能、作品集
  3. Aside(側邊欄):聯絡方式、社群連結
  4. Footer(頁尾):版權或附註

為了達成上面結構,會用到以下標籤,我們先有概念,等下實作:

  • nav:導覽列,裡面通常是 ul/li/a,就像書的目錄,幫助你跳到不同章節
  • main:頁面唯一的主要內容,就像一本書的正文,整頁只能有一個
  • section:主內容的主題區塊,就像章節分類
  • h1h6:標題階層,通常整頁 1 個 h1h1 最大、h6 最小,就像書名到小節標題
  • p:段落,顯示一般文字,會自動換行並留一點間距
  • img:圖片,alt 就像圖說,讓搜尋引擎和視障者也能理解圖片
  • blockquote:引用文本像是座右銘,通常會縮排,表示這不是你自己寫的話
  • ul/li:列表,會自動出現小圓點,適合條列技能或重點
  • article:獨立內容單元,像是一個作品介紹,可以單獨拿出來看也有意義
  • aside:補充資訊,例如聯絡方式,像雜誌邊欄的小資訊框
  • address:作者或組織的聯絡資訊,像名片一樣放 email、電話
  • footer:頁尾,通常放版權或附註,就像書的版權頁

5. 實作 HTML 自我介紹履歷網站

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
  <meta charset="UTF-8">
  <title>我的自我介紹履歷網站</title>
</head>
<body>
  <!-- 網站標頭 -->
  <header>
    <h1>哈囉,我是 Chiayu</h1>
    <p>前端工程師|熱愛學習與分享</p>
    <!-- 導覽列 -->
    <nav>
      <ul>
        <li><a href="#about">關於我</a></li>
        <li><a href="#skills">技能</a></li>
        <li><a href="#projects">作品</a></li>
        <li><a href="#contact">聯絡我</a></li>
      </ul>
    </nav>
  </header>

  <!-- 主內容 -->
  <main>
    <!-- 自我介紹 -->
    <section id="about">
      <h2>關於我</h2>
      <img src="me.jpg" alt="我的照片" width="200">
      <p>嗨,我是 Chiayu,一名前端工程師,專注於 Angular、TypeScript 與前端架構設計。</p>
      <blockquote>「持續學習,讓自己比昨天更強。」</blockquote>
    </section>

    <!-- 技能 -->
    <section id="skills">
      <h2>技能 Skillset</h2>
      <ul>
        <li><strong>Web 語言:</strong> HTML, CSS, TypeScript</li>
        <li><strong>前端:</strong> Angular, React, Vue</li>
        <li><strong>後端:</strong> Node.js, Express</li>
      </ul>
    </section>

    <!-- 作品集 -->
    <section id="projects">
      <h2>作品集 Projects</h2>
      <article>
        <h3>毛毛購物-寵物電商網站</h3>
        <p>使用 Angular + Node.js 開發,支援購物車與支付功能。</p>
      </article>
      <article>
        <h3>LINE Bot 預約系統</h3>
        <p>結合 GCP 與 LINE API,讓用戶能在時間段內預約服務。</p>
      </article>
    </section>
  </main>

  <!-- 側邊欄:聯絡資訊 -->
  <aside>
    <h2 id="contact">聯絡資訊</h2>
    <address>
      Email: <a href="mailto:abc123@gmail.com">abc123@gmail.com</a><br>
      GitHub: <a href="https://github.com/abc123">github.com/abc123</a><br>
      LinkedIn: <a href="https://linkedin.com/in/abc123">linkedin.com/in/abc123</a>
    </address>
  </aside>

  <!-- 頁尾 -->
  <footer>
    <p>&copy; 2025 Chiayu. All rights reserved.</p>
  </footer>
</body>
</html>

https://ithelp.ithome.com.tw/upload/images/20250920/20168326SUwGhD7vs8.png

https://ithelp.ithome.com.tw/upload/images/20250920/201683263LWoNjjAlj.png


6. 小心踩雷

1. 把 <p> 當成「換行」用

很多初學者會覺得 <p> 就是「下一行」,於是每一句話都包一個 <p>,導致頁面看起來間距太大。

錯誤範例:

<p>我是一名前端工程師。</p>
<p>我喜歡健身與魔術。</p>
  • 問題:這樣會讓每一句話都變成獨立段落,間距過大。

https://ithelp.ithome.com.tw/upload/images/20250920/20168326vfxWXMzDmQ.png

正確做法:

<p>我是一名前端工程師,喜歡健身與魔術。<br>同時也熱衷於學習新技術。</p>
  • 一段文字用一個 <p>,真的需要中途換行才用 <br>

https://ithelp.ithome.com.tw/upload/images/20250920/201683268VG30DygYB.png


2. 在 <p> 裡放標題或區塊元素

有些人會寫成:

錯誤範例:

<p><h2>關於我</h2></p>

問題:<p> 裡面只能放文字或行內元素,標題 (h2) 屬於區塊元素,這樣寫是不合法的 HTML。
雖然「看起來能用」,但其實是瀏覽器幫你修正錯誤,瀏覽器通常會在 <h2> 前自動關閉 <p>。不同瀏覽器或工具可能會以不同方式修正,造成 跨瀏覽器不一致。

https://ithelp.ithome.com.tw/upload/images/20250920/20168326uX1yQYYcF9.png

正確做法:

<h2>關於我</h2>
<p>我是一名前端工程師...</p>

https://ithelp.ithome.com.tw/upload/images/20250920/20168326n8ImpGhVNb.png


3. 誤用 <span> 來當容器

<span> 是行內元素,不會自動換行。有人誤把它當容器用,結果版面擠成一長條。

錯誤範例:

<span>
  <h2>技能</h2>
  <p>HTML, CSS, JavaScript</p>
</span>

問題:行內元素裡放區塊元素是不正確的,排版會亂掉。一樣你看到的「正常」只是瀏覽器在幫你自動修正。

正確做法:

<section>
  <h2>技能</h2>
  <p>HTML, CSS, JavaScript</p>
</section>

https://ithelp.ithome.com.tw/upload/images/20250920/20168326NURpmXrawx.png


4. 標題階層亂跳

很多人為了字體大小直接用 <h1><h4><h6> 來調整,忽略了結構。

錯誤範例:

<h1>Chiayu 的履歷</h1>
<h4>技能</h4>
<h2>作品集</h2>

問題:標題層級跳來跳去,對 SEO 與螢幕閱讀器都不友善。

https://ithelp.ithome.com.tw/upload/images/20250920/20168326hUKk8Cd7xO.png

正確做法:

<h1>Chiayu 的履歷</h1>
<h2>技能</h2>
<h2>作品集</h2>

https://ithelp.ithome.com.tw/upload/images/20250920/20168326lAC95fm9gw.png


5. 圖片沒有 alt 或隨便填

有些人直接省略 alt,或放「IMG_1234.jpg」。

錯誤範例:

<img src="me.jpg">
<img src="logo.png" alt="IMG_1234.jpg">

問題:SEO 失效,螢幕閱讀器唸不出意義。

正確做法:

<img src="me.jpg" alt="Chiayu 的個人照片">
<img src="divider.png" alt=""> <!-- 純裝飾圖留空 -->

6. 用 <br>&nbsp; 來排版

不少人為了「多一點空白」狂加 <br>&nbsp;

錯誤範例:

<p>技能:</p>
<br><br><br><br><br><br>
HTML<br>
CSS<br>
JavaScript

問題:這樣不僅亂,對結構化資料也很糟糕。

https://ithelp.ithome.com.tw/upload/images/20250920/20168326NVVnjAgF6A.png

正確做法:

<h2>技能</h2>
<ul>
  <li>HTML</li>
  <li>CSS</li>
  <li>JavaScript</li>
</ul>

https://ithelp.ithome.com.tw/upload/images/20250920/20168326oHHGR8jrKC.png


7. Day 2 預告

明天開始用 CSS / SCSS 美化這個骨架:導覽列橫向排列、照片置中、技能做成卡片、頁尾固定在底部,並建立你的第一套 Design Tokens(色彩、字體、間距)。


下一篇
Day 2 CSS / SCSS 入門 – 美化履歷網站雛型
系列文
Angular、React、Vue 三框架實戰養成:從零打造高品質前端履歷網站24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
Wolke
iT邦研究生 4 級 ‧ 2025-10-02 11:42:48

很棒的系列文!從基礎到框架實戰很有系統性。如果你也對 AI 應用有興趣,歡迎來看我的「南桃AI重生記」系列:https://ithelp.ithome.com.tw/users/20046160/ironman/8311 一起交流!

我要留言

立即登入留言