National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Educational Big Data Challenge
Claim or create a course
Try an AI Scenario Task
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

3

Local AI

--

Uedu Code

--

中央大學 AQI 80 24°C PM2.5 21
AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

Unit 04

連結與路徑

相對路徑與絕對路徑、錨點、在新分頁開啟的安全寫法
Interaction 25 minute(s)

Learning Objectives

  • 用 a 與 href 建立連結,寫出離開上下文也看得懂的連結文字
  • 分辨絕對網址、根相對路徑與相對路徑,算出一條相對路徑最後指到哪個檔案
  • 用 id 與 # 連到同一頁或另一頁的某個段落
  • 寫出 mailto、tel 連結,並用 download 屬性提供下載
  • 說明 target="_blank" 搭配 rel="noopener noreferrer" 的原因

把頁面串起來的是連結

HTML 的全名是 HyperText Markup Language,其中的 HyperText(超文字) 指的就是連結: 文字可以連到另一份文件,文件之間串成一張網,這就是「全球資訊網」(World Wide Web)名字的由來。

寫一個連結只要一個標籤,難的是 href 要寫什麼。同一個網站裡的檔案放在不同資料夾, 從 A 頁連到 B 頁的路徑怎麼寫,取決於 A 在哪裡。路徑寫錯,使用者點下去就是「404 找不到網頁」。

這一課學會三種寫法(絕對網址、根相對路徑、相對路徑)、怎麼連到頁面的某一段,以及幾個連結的安全與無障礙習慣。

a 元素與 href

連結用 <a>(anchor)元素,href 屬性寫目的地,標籤中間的內容是使用者看到、可以點的連結文字:

<a href="https://example.com/club/">資訊社網站</a>

href 可以寫的東西:

寫法 例子 指到
完整網址(絕對網址) https://example.com/about.html 任何網站的檔案,連到別的網站一定要這樣寫
根相對路徑 /notes/week1.html 以 / 開頭:從這個網站的根目錄算起
相對路徑 week2.html、../index.html 從目前這個檔案所在的資料夾算起
錨點 #schedule 同一頁裡 id="schedule" 的元素
其他用途 mailto:[email protected]、tel:+886-3-000-0000 開啟郵件程式、撥號

連結文字可以是任何內容,包括一段文字或一張圖片(第 5 課)。

相對路徑怎麼算

假設資訊社的網站有這些檔案:

/(網站根目錄)
├── index.html
├── about.html
├── css/
│   └── style.css
├── notes/
│   ├── index.html
│   ├── week1.html
│   ├── week2.html
│   └── img/
│       └── diagram.svg
└── projects/
    └── 2026/
        ├── poster.html
        └── report.pdf

相對路徑從目前這個檔案所在的資料夾出發,一段一段往下走:

符號 意思
檔名 或 ./檔名 同一個資料夾裡的檔案(./ 表示「目前這個資料夾」,寫不寫都一樣)
資料夾/檔名 往下進入子資料夾
../ 往上一層(回到父資料夾),可以重複:../../ 是往上兩層

如果你正在寫 /notes/week1.html(出發點是 /notes/ 資料夾):

href 指到 怎麼走
week2.html /notes/week2.html 同一個資料夾
img/diagram.svg /notes/img/diagram.svg 進入 img
../index.html /index.html 往上一層到根目錄
../css/style.css /css/style.css 往上一層,再進入 css
/css/style.css /css/style.css 根相對:直接從根目錄算,不管現在在哪

該用哪一種?

  • 連到別的網站:一定用完整網址。
  • 同一個網站裡:相對路徑最常用。整個網站資料夾搬到別的網域、或放在別人網站的子資料夾底下,相對路徑仍然正確。
  • 根相對路徑的好處是不管在哪一頁都寫一樣的路徑;但在自己電腦上直接雙擊打開 HTML 檔(網址是 file:///…)時,/ 代表的是硬碟的根目錄,會找不到檔案。
  • 同一個網站裡寫死完整網址:網域一換,所有連結都要改。

互動練習:路徑指到哪個檔案

左邊是上面那個網站的檔案樹,藍框是「目前所在的檔案」。在右邊寫一個 href,下面會一步一步列出瀏覽器怎麼走,並在樹上用青綠色標出最後指到的檔案。先點上面的範例看看,再完成任務。

小測驗:路徑

1.

目前的網頁是 https://example.com/notes/week1.html,連結寫 href="../about.html"。點下去會到哪個網址?

2.

目前的網頁是 https://example.com/projects/2026/poster.html,圖片寫 src="img/a.png"(路徑的算法和 href 一樣)。瀏覽器會去拿哪個網址?

3.

目前的網頁是 https://example.com/notes/week1.html,連結寫 href="/css/style.css"。會到哪個網址?

4.

社團網站要從 club-old.example.com 搬到 club.example.com,檔案與資料夾結構不變。哪一種連結搬家後會壞掉?

第 1 次作答

連到頁面的某一段:id 與 #

長的頁面常在最上面放目錄,點了直接跳到那一段。做法分兩步:

<!-- 1. 替目的地加上 id -->
<h2 id="signup">報名方式</h2>

<!-- 2. 連結的 href 寫 # 加上那個 id -->
<a href="#signup">報名方式</a>
  • id 在一頁裡必須是唯一的;用英文小寫與連字號,例如 week-1。
  • 連到別頁的某一段:week1.html#homework。
  • href="#top" 或 href="#" 會回到頁面最上面,這是 HTML 規格定義的行為,不需要另外設 id;不過頁首若剛好有 id="top" 的元素,就會跳到那個元素。
  • 網址列會出現 #signup,把這個網址分享給別人,對方打開時也會直接跳到那一段。

互動練習:頁內目錄與回到頁首

這是一頁發表會資訊,目錄只有「議程」一項。依任務補上報名方式的錨點與連結,按「執行」後點點看:預覽框會捲到對應的段落。

mailto、tel、download 與在新分頁開啟

寫信與撥號

<a href="mailto:[email protected]">寫信給資訊社</a>
<a href="mailto:[email protected]?subject=報名發表會">用信件報名</a>
<a href="tel:+886-3-000-0000">03-000-0000</a>
  • mailto: 會打開使用者的郵件程式並填好收件人;?subject= 可以預先填主旨(多個欄位用 & 隔開)。
  • tel: 在手機上點了會準備撥號;國際格式(+886)在國外撥打也正確。電腦上的行為依裝置而定。

下載:加上 download 屬性,瀏覽器會把檔案存下來,而不是在分頁裡打開。屬性值可以指定存檔的檔名:

<a href="files/report.pdf" download="期末報告.pdf">下載期末報告(PDF,2 MB)</a>

download 只對同一個網站的檔案(以及 blob:、data: 網址)有效;連到別的網站時會被忽略,變成一般的連結。 連結文字最好寫出檔案格式與大小,讓使用者點之前就知道會發生什麼。

在新分頁開啟:target="_blank"

<a href="https://example.com/map" target="_blank" rel="noopener noreferrer">會場地圖(在新分頁開啟)</a>

以前用 target="_blank" 開啟的新頁面,可以透過 window.opener 存取原本的分頁,例如把它偷偷換成一個仿冒的登入頁。 rel="noopener" 切斷這個關係,rel="noreferrer" 再加上一層:瀏覽器不告訴對方網站使用者是從哪一頁連過來的(也就是不送出 Referer)。 目前較新的瀏覽器遇到 target="_blank" 已經自動套用 noopener 的保護,但明確寫出 rel 可以照顧到舊瀏覽器,也讓讀程式碼的人一眼看出你的用意。

要不要開新分頁,交給使用者決定比較好(他可以自己按住 Ctrl 點);真的要開,連結文字寫出「在新分頁開啟」。

小測驗:錨點與連結的寫法

1.

想從 week1.html 連到 week2.html 裡 id="homework" 的那一段,href 怎麼寫?(兩個檔案在同一個資料夾)

2.

target="_blank" 搭配 rel="noopener" 是為了防止什麼?

3.

下面哪一個連結文字最好?

4.

<a href="https://example.org/report.pdf" download> 連到別的網站的檔案,加上 download 會怎樣?

第 1 次作答

重點整理

  • 連結:<a href="目的地">連結文字</a>。
  • 完整網址連到任何網站;/ 開頭的根相對路徑從網站根目錄算;相對路徑從目前檔案所在的資料夾算,../ 往上一層。
  • 同一網站內多用相對路徑;網站搬家時,寫死網域的完整網址會壞。
  • 錨點:目的地加 id,連結寫 #id;別頁的某一段寫 檔名#id;#top 回到頁首。
  • mailto: 寫信、tel: 撥號;download 讓同一網站的檔案直接下載。
  • target="_blank" 搭配 rel="noopener noreferrer",並在連結文字說明會開新分頁。
  • 連結文字說出目的地,不寫「點這裡」。

下一課講圖片與多媒體:<img> 的替代文字、讓圖片依螢幕大小換尺寸,以及影片與音訊。

這一課完成了!
Next lesson:圖片與多媒體
你目前沒有登入,學習進度只存在這個瀏覽器。 Login 後,進度會跟著帳號,換電腦也看得到。