Tailwind CSS 入門與進階:從零構建現代化響應式網頁

2分鐘閱讀
2026-03-15
2,880
當你透過以下連結購物,我會獲得佣金,對你嚟講冇額外成本。.

咩係 Tailwind CSS

Tailwind CSS 係一個功能優先嘅 CSS 框架,佢透過提供大量原子化、低級別嘅實用類(Utility Classes),等開發者能夠直接喺 HTML 中快速構建自訂設計。同 Bootstrap 等提供預先定義組件(例如按鈕、卡片)嘅框架唔同,Tailwind CSS 嘅核心哲學係「實用優先」(Utility-First)。佢唔提供任何具有固定樣式嘅組件,而係提供咗一系列幼粒度嘅 CSS 類,例如 .text-center.bg-blue-500.p-4 等,呢啲類分別對應單一嘅 CSS 屬性。

呢種設計模式意味住開發者唔使喺 HTML 同 CSS 檔案之間頻繁切換,亦唔使為每個元素諗爆頭命名類(例如 .user-profile-card__header--active)。你只需要喺 HTML 度組合呢啲實用類,就可以「即時」創造出獨一無二嘅介面。佢大大噉提高咗開發效率,特別係喺構建響應式同高度定制化設計嘅時候。同時,由於其構建系統會透過 PurgeCSS(喺 Tailwind CSS v3 同之後版本中叫做「內容掃瞄」)自動移除所有冇用嘅樣式,最終嘅生產包體積可以做到好細。

核心概念同安裝配置

理解 Tailwind CSS 嘅工作原理,需要掌握其幾個核心概念:實用類、響應式設計變體、狀態變體以及自定義配置。

推薦閱讀 Tailwind CSS 入門指南:從零開始打造現代化響應式網頁

實用類命名規則

Tailwind CSS 嘅實用類命名好直觀同規律性強。大多數類名跟隨「屬性-數值」或者「屬性-方向-數值」嘅模式。例如,.mt-4 表示 margin-top: 1rem;(4 個單位,1個單位通常為0.25rem)。.px-6 表示水平方向(x軸)嘅內邊距(padding)為 1.5rem。顏色系統就使用數字編號表示深淺,例如 .bg-gray-100.text-red-600

WordPress.com 網站建設工具
WordPress.com 網站建設工具
99.9991% 運作時間 + 跨地區災難恢復,24/7 支援,購買博客套裝即可免費使用 AI 驅動嘅網站建設工具。
UltaHost 網站建設工具
UltaHost 網站建設工具
超過900個免費、可自訂嘅範本,助你具備優化網站搜尋可見度所需嘅SEO能力。

初始安裝同項目配置

最常見嘅安裝方式係將其作為 PostCSS 插件集成到前端構建工具鏈中(例如 Vite、Webpack)。首先透過 npm 或 yarn 安裝:

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init

呢個會生成一個叫做 tailwind.config.js 嘅設定檔。跟住,需要喺你嘅主 CSS 檔案(通常係 src/styles.csssrc/index.css) 中引入 Tailwind 嘅指令:

@tailwind base;
@tailwind components;
@tailwind utilities;

最後,喺 postcss.config.js 入面設定 Tailwind 同埋 Autoprefixer 做插件。設定好之後,行你嘅構建指令,Tailwind 就會掃描你嘅 HTML、JavaScript 等模板檔案,生成對應嘅 CSS。

自訂主題同擴展

tailwind.config.js 檔案係 Tailwind 客製化嘅核心。你可以喺度擴展主題,例如加新嘅顏色、間距尺寸、字體家族,或者覆蓋預設值。

推薦閱讀 由零到精通嘅 Tailwind CSS 實戰教程:構建現代化響應式網頁

module.exports = {
  content: ['./src/**/*.{html,js,ts,jsx,tsx}'], // 告知 Tailwind 要扫描哪些文件中的类名
  theme: {
    extend: {
      colors: {
        'brand-blue': '#1992d4',
      },
      spacing: {
        '128': '32rem',
      }
    },
  },
  plugins: [],
}

透過 extend 物件進行添加,唔會覆蓋預設主題,而係喺佢嘅基礎上進行擴展。咁樣保證咗你嘅自訂設定同預設系統可以和平共存。

構建響應式同互動式介面

Tailwind CSS 喺響應式設計同處理互動狀態方面提供咗一套簡潔而強大嘅語法,呢個係佢深受開發者喜愛嘅重要原因之一。

響應式設計適配

Tailwind 採用流動優先嘅斷點系統。默認嘅實用類(如 .text-lg)針對移動設備,更大嘅屏幕尺寸需要添加相應嘅斷點前綴。內置嘅斷點有:sm (640px)、md (768px)、lg (1024px)、xl (1280px)、2xl (1536px)。

Bluehost 網站建設工具
提供 AI 網站製作工具、24/7 線上聊天及電話支援、一年免費網域名、免費 CDN,以及 99.991% uptime SLA。

使用方式係喺實用類前加上斷點前綴同冒號。例如,以下代碼表示喺移動端文字居中,喺中等及以上屏幕尺寸時文字左對齊:

<div class="text-center md:text-left">響應式文字對齊</div>

你可以輕鬆噉為任何實用類添加響應式變體,實現複雜嘅佈局變化,而無需編寫任何媒體查詢(Media Query)CSS 代碼。

處理懸停、焦點等狀態

同響應式類似,Tailwind 為常見嘅互動狀態提供咗狀態變體前綴,例如 hover:focus:active:disabled: 等。咁樣令到加互動樣式變得超簡單。

推薦閱讀 Tailwind CSS 終極指南:從基礎到實戰嘅現代 CSS 框架高效開發

<button class="bg-blue-500 hover:bg-blue-700 focus:ring-2 focus:ring-blue-300 text-white font-bold py-2 px-4 rounded">
  交互按钮
</button>

上面嗰個掣喺默認狀態下係藍色背景,當滑鼠移過去嗰陣會變深藍色,攞到焦點嗰陣會出現一個藍色嘅環形陰影。所有呢啲樣式都係透過組合類名嚟實現,唔使寫獨立嘅 CSS 規則。

黑暗模式支援

Tailwind CSS 內置咗黑暗模式支援。喺設定檔度設定 darkMode: 'class'darkMode: 'media'。通常我哋用 'class' 模式,等用戶可以手動切換。然後喺 HTML 根元素(例如 )上面加或者移除 class="dark" )度切換模式。喺實用類前面加 dark: 前綴就可以定義黑暗模式嘅樣式。

主機網
免費 SSL、Cloudflare CDN、WAF,可選擇超過 40 個全球數據中心,就近選擇以降低延遲。提供全年無休 24/7/365 服務支援。即刻可省最多 £671。支援 AI 驅動開發及 SEO 優化。
<div class="bg-white text-gray-900 dark:bg-gray-800 dark:text-gray-100">
  自動適應黑暗模式嘅內容區域。
</div>

進階技巧同最佳實踐

隨住項目規模增長,跟返一啲最佳實踐可以保持代碼嘅可維護性同性能。

提取可重用組件

雖然 Tailwind 鼓勵直接喺 HTML 入面用實用類,但當某個 UI 模式(例如一個特定樣式嘅按鈕卡片)喺多處重複出現時,直接複製貼上大量類名會降低可維護性。呢個時候,有幾種解決方案:
1. 使用 @apply 指令:在你的 CSS 文件中,可以使用 @apply 將一系列實用類提取到一個自訂嘅 CSS 類入面。

    .btn-primary {
      @apply py-2 px-4 bg-blue-500 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75;
    }

2. 使用 JavaScript 框架的组件系统:在 React、Vue 等框架中,最佳实践是将这个 UI 块封装成一个独立的组件(如 ),喺佢嘅模板內部使用 Tailwind 類。咁樣就既可以重用邏輯同結構,又保持 Tailwind 實用類嘅優勢。
3. 使用编辑器片断(Snippets):在编辑器中为常用的类组合创建代码片断,以加速开发。

性能優化同生產構建

Tailwind 喺開發模式下會生成一個包含所有可能類嘅龐大 CSS 檔案(約幾 MB),呢個明顯唔適合生產環境。佢嘅構建流程嘅核心優化在於「搖樹」(Tree Shaking)。喺 tailwind.config.jscontent 配置嗰陣,你需要準確指定所有包含類名嘅源文件路徑(例如模板、組件、Markdown 文件)。喺構建生產版本時,Tailwind 會靜態分析呢啲文件,只將用到嘅類包含喺最終嘅 CSS 入面,從而將文件體積縮到極致嘅水平,通常只有 10KB 左右。

同第三方庫整合

Tailwind CSS 可以無縫咁同大多數 UI 庫或框架整合。例如,喺 React 項目入面,你只需要好似普通 CSS 文件咁引入包含 Tailwind 指令嘅 CSS,然後喺 JSX 嘅 className 屬性入面用實用類就得。注意,喺 JSX 入面需要用 className 而唔係 class。對於好似 Next.js 咁嘅框架,佢哋嘅官方文件都有提供詳細嘅 Tailwind CSS 整合指南。

摘要

Tailwind CSS 透過佢獨特嘅實用優先方法,徹底改變咗開發者寫 CSS 嘅方式。佢提供一套完整、可預測嘅原子化類名系統,令樣式開發變得快速、直觀而且高度一致。內置嘅響應式設計、狀態變體同強大嘅自訂配置能力,令到構建現代化、自適應、互動豐富嘅網頁界面成為一項高效嘅任務。雖然初頭要記一啲類名,但一旦熟習咗佢嘅命名規則,開發效率就會有質嘅提升。加上佢出色嘅生產環境優化(搖樹刪除未用代碼),Tailwind CSS 已經成為 2026 年現代 Web 開發中不可或缺嘅工具之一,特別適合追求設計自由度同開發速度嘅團隊同項目。

常見問題

Tailwind CSS 嘅類名好長,HTML 會唔會變得混亂?

呢個確實係初學者常見嘅擔憂。喺實際項目入面,透過組件化(例如用 React、Vue 組件)可以好好咁解決呢個問題。你將重複、帶有大量類名嘅 HTML 結構封裝到獨立組件入面,咁樣喺外層調用嗰陣,HTML 依然保持簡潔。而且,現代編輯器嘅多游標、代碼摺疊等功能都可以有效管理長類名。權衡之下,開發速度同維護便利性帶來嘅收益遠大過視覺上嘅「混亂」。

點樣覆蓋或者修改 Tailwind 預設提供嘅樣式?

有兩種主要方法。第一種係用 @apply 指令可以喺自訂 CSS 類度組合或者覆蓋實用類,但係要留意特異性(Specificity)問題。第二種亦係更推薦嘅方式,係透過修改 tailwind.config.js 檔案入面嘅 theme 配置。你可以喺 theme.extend 度擴展預設主題,或者喺 theme 下面直接定義同名屬性嚟完全覆蓋預設值。所有透過設定檔進行嘅修改,都會自動生成對應嘅實用類。

喺團隊項目入面,點樣確保樣式嘅一致性?

Tailwind CSS 本身透過提供一套有限嘅設計系統(固定嘅調色板、間距比例等)來強制實現一致性。團隊成員只能使用框架提供嘅值(或者團隊喺配置度共同擴展嘅值),咁樣自然就避免咗隨意數值嘅出現。另外,可以配合使用 Prettier 插件(例如 prettier-plugin-tailwindcss)來自動對類名進行排序,統一程式碼風格,進一步降低協作成本。

Tailwind CSS 適唔適合用喺大型複雜項目度?

非常適合。事實上,好多大公司(例如 GitHub、Netflix、Shopify)都喺生產環境度用緊 Tailwind CSS。佢嘅優勢喺大型項目度特別明顯:統一嘅約束系統保證咗設計一致性;實用類減少咗自訂 CSS 嘅衝突同特異性戰爭;構建時嘅搖樹優化確保咗最終嘅 CSS 體積最小化。關鍵在於良好嘅項目組織,充分利用前端框架嘅組件化能力來管理 UI。