本篇為 [FE101] 前端基礎:HTML 與 CSS 這門課程的學習筆記。如有錯誤歡迎指正。
1 | 學習目標: |
網頁是如何製作的?
- 所有網站都使用 HTML 和 CSS 編寫,且根據不同需求,可能還會加入其他技術。
- 網頁其實就是有結構的「文字檔」,藉由瀏覽器解析渲染,呈現我們看到的畫面。
什麼是 HTML?
- 全名為 HyperText Markup Language,中文翻作「超文本標記語言」。
- 由名字可知 HTML 是一種標記語言,而非程式語言。
- HTML 使用「元素」來描述頁面結構,通常由兩個標記(tag)所組成:
- 開始標記:可承載屬性,說明該元素的內容。例如:
<p> - 結束標記:多一道斜線。例如:
</p>
- 開始標記:可承載屬性,說明該元素的內容。例如:
基本架構 - 必要的標籤
小技巧:在編輯器上輸入
!再按 tab 鍵,可快速生成基本架構。
1 | <!-- 開頭需定義撰寫格式,告訴瀏覽器使用最新版本 HTML5 --> |
<head> 內常見的標籤
head 中的文檔並不會呈現在瀏覽器上,通常會包含一些資訊,例如:標題(<title>)、meatadata(提供網頁資訊給瀏覽器或搜尋引擎)、引入 CSS 或 JavaScript 文件並應用於 HTML 檔。
1 | <head> |
參考資料:HTML meta 標籤- Wibibi
<body> 內常見的標籤
<div>:為區塊元素(block)
文字相關標籤
<h1>~<h6>:標題有六階- 重要程度由高至低
- 一個網頁通常只能有一個 h1
<p>:段落<span>:為行內元素<sup>和<sub>:用來將內容上標、下標。為行內元素。
1 | <h3>上標(superscript):常用來表示日期字尾、次方數</h3> |

空白壓縮
當瀏覽器遇到兩個以上的空白字元時,只會顯示一個空白字元;同樣的,遇到斷行也會視為單一空白字元處理。
因此我們可以利用下列標籤幫助排版:
<pre>:保留完整格式,可用於顯示整段程式碼<br />或<br>:換行<hr />或<hr />:水平線,大小寫均可,斜線可加可不加
舉個例子:
1 | 我是標題 |

清單列表
<ul>:項目清單(unordered list)<ol>:編號清單(ordered list)<li>:清單中的每個項目(list item)- 去除清單預設樣式 CSS:
list-style: none
1 | <ol> |
<a>:加入連結
href屬性:指定要連結的目標網頁,可分為:- 絕對 URL:完整網址
- 相對 URL:連到同一網站的其他頁面可使用,例如:contact.html
- 上述兩種方式,也可使用 id 屬性:指定連結到網頁的目標元素
1 | <h1 id="top">網頁前端</h1> |
target屬性:_self:為預設值,會在原頁面開啟連結_blank:在新視窗開啟連結
1 | <a href="https://www.google.com.tw/">連到 Google 首頁</a> |
<img>:嵌入圖片
src屬性:指定圖片來源alt屬性:當圖片無法顯示時的替代文字,可用來描述影像內容title屬性:滑鼠停留在圖片上的提示文字
1 | <img src="https://www.google.com.tw/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="This is logo" title="google logo" > |
<Iframe>:內嵌網頁
1 | <figure> |

<table>:表格
表格是以一列一列的方式撰寫,每一列由 <tr> 元素來製作。
<tr>:表格列(table row),表示每一列的起始<td>:表格資料(table data)<th>:表格標題(table head),用法和<td>元素相同,會以粗體顯示- 使用 scope 屬性:可標明是行(row)或列(col)的標題
- 使用 rowspan、colspan 屬性:可跨行或跨列
- 製作長表格時,可分割成
<thead>、<tbody>、<tfoot> - 舉個例子:

1 | <!-- 上述表格程式碼如下 --> |
<form>:表單
其實 Google 首頁中央的搜尋框,就是最為人熟知的表單。除此之外,表單還提供其他線上功能,例如:註冊網站會員、網路購物、問卷調查等。
表單控制項:
from、input、textarea
text:純文字password:顯示會以符號代替文字
可以使用 maxlength and minlength 來控制輸入字數email:會自動做簡單驗證search:搜尋框tel:電話url:網址
(待補)
參考資料:
- [第六週] HTML - 表單 form 介紹 - Yakim shu
語意化元素(Semantic Elements)
使用 HTML5 的語意化元素取代 <div> 有以下優點:
- 可使網頁結構和區塊位置更精確
- 幫助優化 SEO(搜尋引擎最佳化)

圖片來源:快速了解HTML語意化標籤| by Kira Yang | Medium
<header>頁首:常包含 Logo 圖案、導航列、搜尋欄位<nav>導航列:主選單、頁尾選單<main>主要內容<footer>頁尾,通常包含版權訊息、法律訊息連結<article>主要文章<section>段落<aside>側欄:與主要內文無關的區塊,也就是額外資訊(廣告、推薦文章等)
參考資料:
- 金魚都能懂 網頁設計入門 : 網頁入門第一步 (第二天)
- HTML&CSS:網站設計建置優化之道
- [第七週] HTML — Tag 基本標籤認識 - Miashu
- [第六週] HTML - tag 基礎標籤介紹 - Yakim
補充:如何引入 js 檔案
- 寫在 HTML 文件的
<script>標籤內
也就是內嵌在 <head> 或 <body> 結束標籤之前。兩者差別在於:
- head 部分:會在被調用的時候才執行。
- body 部分:會在頁面載入的時候被執行。
由於 html 檔是由上而下依序載入,放在接近檔案底部,可確保 JavaScript 較晚被讀取,再去影響先被生成的 HTML 程式碼。但也可能導致腳本載入受阻,拖慢網站效能。
- 外部引入 JavaScript 文件
建立 .js 檔案後,在 HTML 檔案中的 <body> 或 <head> 透過 <script src= ""> 標籤引用。這是最常使用的方法,可橫跨多個 HTML 檔案使用。
1 | <!-- .js 檔案路徑為:scripts/common.js --> |
參考資料:
- JavaScript 寫在哪裡? - HiSKIO
- JavaScript 是什麼? - 學習該如何開發Web | MDN