OnePage 工具箱:
RWD × jQuery × 圖示字體

期中企劃完成後,開始動手做 OnePage 之前,先準備好四樣工具:讓版面適應各種螢幕的 RWD、把內容放在一頁的 OnePage 結構、讓網頁會動的 jQuery,以及不用切圖就能放圖示的 圖示字體。每個觀念都有實驗室可以直接操作。

RWD 模擬器 錨點導覽示範 jQuery 效果實驗室 6 個 OnePage 範例 CSS3 產生器 圖示探索器 學會了 0 / 10

01這單元學什麼?和 OnePage 有什麼關係

期中企劃決定了「做什麼」,這單元準備「怎麼做」。四個工具分別解決 OnePage 的四個問題:

建議的學習順序先看懂 RWD 與 OnePage 的概念 → 在實驗室玩 jQuery 效果 → 用範例把效果套進 OnePage → 加上 CSS3 與圖示 修飾。最後用「檢核」確認自己真的會了。

02RWD:一個網站,適應每一種螢幕

隨著行動上網普及,「行動優先」成為網頁設計的主流。響應式網頁設計(Responsive Web Design,RWD)讓網頁依照螢幕寬度自動調整版面:電腦上三欄並排,到了手機變成一欄上下排,導覽列收成 ☰ 選單。

① 適用不同載體

不同尺寸的螢幕都能順利瀏覽,同一個網站解決所有裝置。

② 開發成本降低

不用分別做電腦版與手機版,只維護一個網站。

③ 有利 SEO

只有一個網址,搜尋成效不會分散;Google 也建議使用 RWD。

④ 方便分享

同一個網址在任何裝置都能打開,按讚與流量也能集中分析。

RWD 的三個關鍵

KEY 1

viewport 設定(寫在 head)

告訴手機「用裝置的實際寬度顯示」,少了它手機會把網頁縮成很小一張。
<meta name="viewport" content="width=device-width, initial-scale=1">

KEY 2

彈性的寬度與圖片

用 %、max-width、fr 代替固定 px;圖片加上 img { max-width: 100%; } 就不會超出畫面。

KEY 3

媒體查詢 @media(斷點)

在特定寬度切換樣式,例如寬度 768px 以下改成一欄。

/* 先寫手機版(預設一欄) */
.cards { display: grid; grid-template-columns: 1fr; gap: 16px; }

/* 平板以上:兩欄 */
@media (min-width: 768px) {
  .cards { grid-template-columns: 1fr 1fr; }
}

/* 電腦以上:三欄,導覽列展開 */
@media (min-width: 1024px) {
  .cards { grid-template-columns: repeat(3, 1fr); }
}

互動工具:RWD 模擬器

拖拉寬度,看同一個 OnePage 如何重新排版
目前生效的 CSS
自己檢查:瀏覽器的裝置模式在 Chrome 按 F12 開啟開發者工具,再按 Ctrl/Cmd+Shift+M 切換裝置模式,就能用各種手機尺寸檢查自己的網站。
同一個網站在電腦、平板、手機上的 RWD 版面示意
RWD 網站示意|金門瓊林網站

03OnePage:把內容放在同一頁

一頁式網站(單頁式網站)在一個頁面裡,用圖片、動態效果與簡潔的文字,由上往下說完一個主題。導覽列不是換頁,而是捲動到這一頁的某個區塊,用的是 HTML 的錨點(anchor)連結。

OnePage 的特色說明
只有一頁像產品或個人的電子型錄,設計簡單、扁平。
錨點導覽<a href="#about"> 跳到 <section id="about">,網址不換頁。
必定搭配 RWD依照螢幕自動調整大小與要顯示的內容。

優點

節省時間:往下滑就看完;UX 好、易分享:操作簡單、只有一個網址;跳出率可能降低:符合滑動習慣;容易維護:只要改一頁。

要注意

內容太多會很長、載入變慢(圖片要壓縮);所有關鍵字擠在一頁,SEO 較不利;不適合大量文章或需要分類的網站。

互動示範:錨點導覽怎麼運作

點上方導覽列,或直接捲動小網頁,觀察「目前區塊」
Hi, I'm Jin

這是 #a-top 區塊

關於 About

這是 #a-about 區塊

作品 Works

這是 #a-works 區塊

聯絡 Contact

這是 #a-contact 區塊

目前區塊:#a-top
這個模式的寫法

OnePage 的四種常見用途

用首頁做「10 秒鐘的簡報」,讓訪客由簡入深認識你或公司,再連到其他頁面。

04jQuery:寫得更少,做得更多

jQuery 的口號是 write less, do more。它是一套用 JavaScript 寫成的函式庫,讓我們用很短的語法和 HTML、CSS 互動:選取元素、隱藏顯示、淡入淡出、動畫、事件處理。只要懂 CSS 選擇器,就能很快上手。

JavaScript

網頁的程式語言,負責「行為」:偵測點擊、改變內容與樣式、做動畫。瀏覽器內建,不用安裝。MDN|JavaScript ↗

jQuery

快速、小巧的 JavaScript 函式庫,把常用的操作包成簡短的方法,並處理好瀏覽器之間的差異。jQuery 官網 ↗

使用 jQuery 的三個步驟

  1. 引入 jQuery(放在 </body> 前或 <head> 中)使用官方 CDN,不用下載檔案:<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  2. 等網頁準備好把程式寫在 $(function () { … }); 裡,確保 HTML 都讀完了才執行。
  3. 選取元素,下達動作$('選擇器').動作(參數);,例如 $('.box').fadeIn(2000);
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
  <meta charset="utf-8">
  <title>jQuery 淡入</title>
</head>
<body>
  <div class="box">我會慢慢出現</div>

  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  <script>
    $(function () {
      $('.box').hide().fadeIn(2000);   // 先隱藏,再用 2 秒淡入
    });
  </script>
</body>
</html>

互動工具:jQuery 語法解剖

點語法的每一個部分,看它的意思

互動工具:選擇器練習(真的用 jQuery 選)

輸入選擇器,被選到的元素會亮起來
$('')
作品
卡片 1
卡片 2
卡片 3

說明文字 重點

© 2026

動作jQuery原生 JavaScript
選取$('.box')document.querySelectorAll('.box')
點擊事件$('#btn').on('click', fn)btn.addEventListener('click', fn)
加/切換 class$(el).toggleClass('on')el.classList.toggle('on')
淡入$('.box').fadeIn(600)需要自己寫 CSS transition 或 animate
網頁準備好$(function () { … })script 加 defer
現在還要學 jQuery 嗎?現代瀏覽器的原生 JavaScript 已經很好用,新專案不一定需要 jQuery;但大量網頁模板、Bootstrap 4 以前的版型與外掛仍使用 jQuery。學會它能讀懂、修改這些模板,而且觀念(選取 → 事件 → 動作)和原生 JS 完全相同。另外 jQuery UI 是建立在 jQuery 上的介面元件(日期選擇器、拖拉、對話框),需要時再另外引入。

05jQuery 效果實驗室

選一個效果、調整速度與觸發方式,按「執行」看結果。下方會產生可以直接複製的程式碼。實驗室使用真正的 jQuery 3.7.1。

1. 選效果
2. 作用對象
3. 觸發方式
滑過我(hover 模式)
.a
.a
#c

產生的程式碼
常用方法效果常見用途
hide() show() toggle()隱藏/顯示/切換手機選單、彈出訊息
fadeIn() fadeOut() fadeToggle()淡入/淡出進場效果、圖片切換
slideDown() slideUp() slideToggle()向下展開/收合FAQ、選單
animate({…}, 時間)自訂數值動畫移動、放大、平滑捲動
addClass() removeClass() toggleClass()加減 class,樣式交給 CSS深色模式、導覽列變色
css() text() html()直接改樣式或內容改顏色、更新文字

06OnePage 最常用的 6 個 jQuery 效果

選一個範例,左邊可以直接修改 HTML/CSS/JS,按「執行」更新右邊預覽。每個範例都有「試試看」任務;改好了可以下載成 .html 檔,直接用在自己的 OnePage。

07CSS3 視覺效果:圓角、陰影、透明、漸層、動畫

很多「看起來像特效」的效果,其實用 CSS3 就能做到,而且比 JavaScript 更流暢。搭配 jQuery 的 toggleClass(),就能用點擊切換這些樣式。

互動工具:CSS3 效果產生器
CSS3 卡片
.card
屬性寫法說明
圓角border-radius: 20px;
border-radius: 10px 0 10px 0;
四個值依序是左上、右上、右下、左下。
區塊陰影box-shadow: x y blur spread color inset;x 水平位移、y 垂直位移、blur 模糊、spread 擴散;加 inset 變內陰影。
文字陰影text-shadow: 1px 1px 2px #000;x、y、模糊、顏色。
透明度rgba(102,153,255,.5)/opacity: .5;rgba 只讓「顏色」透明;opacity 讓整個元素(含文字)透明。
漸層linear-gradient(135deg, #B8E7F3, #43C3E4)
radial-gradient(#B8E7F3, #43C3E4)
線性漸層可設角度;放射漸層由中心向外。可搭配 rgba 做半透明漸層。

CSS 動畫:@keyframes

只要定義兩件事:動畫的開始與結束(關鍵影格),以及怎麼轉變(時間、速度曲線)。0% 是起點、100% 是終點。

Welcome to My OnePage

CSS

嵌入 YouTube 影片(並且做成 RWD)

  1. 在影片下方點「分享」
    YouTube 影片下方的分享按鈕
  2. 選擇「嵌入」
    分享視窗中的嵌入選項
  3. 複製嵌入語法,貼到 HTML 想放的位置
    複製 iframe 嵌入語法
/* YouTube 給的 iframe 有固定寬高,加上這段就會跟著版面縮放 */
.video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}
圖片小提醒沒有適合的自拍照片,可以用免費高畫質圖庫 Unsplash。滿版背景圖寬度約 1920–2000px,但檔案最好小於 1MB,否則 OnePage 會載入很慢(可用 Squoosh 壓縮)。

08圖示字體:用一行文字放入圖示

圖示字體(icon font)把圖示做成「字型」,所以可以像文字一樣用 CSS 改大小、顏色、陰影,放大也不會模糊。最常用的是 Font Awesome,本課程網站也大量使用。

放圖示的方法優點缺點
圖片(PNG/JPG)任何圖案都可以放大會模糊;改顏色要重新切圖;每個圖示一個檔案
圖示字體一行程式碼;CSS 改色改大小;數千個免費圖示只能單色(或少數雙色);需要載入字型檔
SVG向量、可多色、可做動畫程式碼較長,初學較複雜

引入 Font Awesome 的兩種方法

在 <head> 加入一行 CSS 連結,就能使用全部免費圖示。不需要帳號。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">

Kit 會給你一行專屬的 <script>,可在後台選擇要用的圖示組與設定。

  1. 註冊或登入 Font Awesome 帳號
    Font Awesome 註冊頁面
  2. 登入後點「Your Kits」進入工具包
    Your Kits 選單
  3. 點選自己的 Kit 進入設定
    Kit 列表
  4. 複製專屬的 JavaScript 程式碼,貼到 <head> 中
    複製 Kit 的 script 程式碼
    <script src="https://kit.fontawesome.com/你的代碼.js" crossorigin="anonymous"></script>
  5. 到 Icons 頁面搜尋圖示,複製語法貼到想出現的位置
    Font Awesome 圖示頁面的複製語法

圖示的寫法

想做什麼寫法結果
放一個圖示<i class="fa-solid fa-house"></i>
換樣式fa-solid 實心、fa-regular 線條、fa-brands 品牌
放大fa-lg、fa-2x…fa-5x
改顏色CSS:.fa-heart { color: crimson; }
動畫fa-spin、fa-beat、fa-bounce、fa-shake
舊版寫法v5:fas fa-home、fab fa-facebookv6 仍相容,但建議用新寫法
無障礙小細節純裝飾的圖示加上 aria-hidden="true";如果按鈕只有圖示沒有文字(例如社群連結),要在連結加上 aria-label="Instagram",讓讀螢幕軟體知道它是什麼。

互動工具:圖示探索器

搜尋(中英文都可以)→ 點圖示 → 調整 → 複製語法
HTML+CSS

互動工具:社群按鈕列產生器

選平台與樣式,產生 OnePage 頁尾常用的社群連結
HTML+CSS

其他免費圖示字體:Bootstrap Icons(本頁的目錄圖示就是它)、Google Material Symbols。同一個網站建議只用一套,風格才會一致。

09RWD 範本、圖庫與應用範例

可以下載 RWD/OnePage 範本來研究結構(看它怎麼寫 @media、怎麼用 jQuery),再改成自己的設計。使用前請確認授權,並在頁尾保留作者標示。

10AI 協作:請 AI 解釋與除錯,不是代寫

遇到看不懂的 jQuery 語法、效果沒有反應、手機版跑版時,可以這樣問 AI。複製後把__換成你的內容。

AI 也會出錯AI 常混用舊版寫法(例如 jQuery 1.x 的 .bind()、Font Awesome 4 的 fa fa-)。拿到程式碼後,先貼到本頁的範例遊樂場執行看看,再對照 jQuery API 或 MDN。

11我學會了嗎?檢核與測驗

0 / 10 完成

自我測驗

Q1手機上網頁縮得很小、@media 好像沒作用,最可能少了什麼?
Q2要讓導覽列跳到 <section id="works">,連結怎麼寫?
Q3$('.box').fadeIn(2000); 的意思是?
Q4Console 出現「$ is not defined」,最可能的原因是?
Q5做 FAQ「點問題展開答案、再點收合」,最適合哪個方法?
Q6要放一個紅色的實心愛心圖示,下列何者正確?