
- Tailwind CSS 教程
- Tailwind CSS - 首頁
- Tailwind CSS - 路線圖
- Tailwind CSS - 簡介
- Tailwind CSS - 安裝
- Tailwind CSS - 編輯器設定
- Tailwind CSS - 核心概念
- Tailwind CSS - 實用優先基礎
- Tailwind CSS - 懸停、焦點和其他狀態
- Tailwind CSS - 響應式設計
- Tailwind CSS - 深色模式
- Tailwind CSS - 重用樣式
- Tailwind CSS - 新增自定義樣式
- Tailwind CSS - 函式和指令
- Tailwind CSS - 自定義
- Tailwind CSS - 配置
- Tailwind CSS - 內容配置
- Tailwind CSS - 主題配置
- Tailwind CSS - 自定義螢幕
- Tailwind CSS - 自定義顏色
- Tailwind CSS - 自定義間距
- Tailwind CSS - 外掛
- Tailwind CSS - 預設
- Tailwind CSS - 基礎樣式
- Tailwind CSS - 預處理
- Tailwind CSS - 佈局
- Tailwind CSS - 高寬比
- Tailwind CSS - 容器
- Tailwind CSS - 列
- Tailwind CSS - 斷行後
- Tailwind CSS - 斷行前
- Tailwind CSS - 斷行內
- Tailwind CSS - 邊框裝飾斷開
- Tailwind CSS - 盒子大小
- Tailwind CSS - 顯示
- Tailwind CSS - 浮動
- Tailwind CSS - 清除浮動
- Tailwind CSS - 隔離
- Tailwind CSS - 物件適應
- Tailwind CSS - 物件位置
- Tailwind CSS - 溢位
- Tailwind CSS - 滾動行為
- Tailwind CSS - 位置
- Tailwind CSS - 上/右/下/左
- Tailwind CSS - 可見性
- Tailwind CSS - Z-index
- Tailwind CSS - Flexbox 和 Grid
- Tailwind CSS - Flex 基準
- Tailwind CSS - Flex 方向
- Tailwind CSS - Flex 換行
- Tailwind CSS - Flex
- Tailwind CSS - Flex 伸展
- Tailwind CSS - Flex 收縮
- Tailwind CSS - 順序
- Tailwind CSS - 網格模板列
- Tailwind CSS - 網格列開始/結束
- Tailwind CSS - 網格模板行
- Tailwind CSS - 網格行開始/結束
- Tailwind CSS - 網格自動流
- Tailwind CSS - 網格自動列
- Tailwind CSS - 網格自動行
- Tailwind CSS - 間隙
- Tailwind CSS - 內容對齊
- Tailwind CSS - 專案對齊
- Tailwind CSS - 自身對齊
- Tailwind CSS - 內容排列
- Tailwind CSS - 專案排列
- Tailwind CSS - 自身排列
- Tailwind CSS - 內容放置
- Tailwind CSS - 專案放置
- Tailwind CSS - 自身放置
- Tailwind CSS - 間距
- Tailwind CSS - 內邊距
- Tailwind CSS - 外邊距
- Tailwind CSS - 元素間距
- Tailwind CSS - 大小
- Tailwind CSS - 寬度
- Tailwind CSS - 最小寬度
- Tailwind CSS - 最大寬度
- Tailwind CSS - 高度
- Tailwind CSS - 最小高度
- Tailwind CSS - 最大高度
- Tailwind CSS - 尺寸
- Tailwind CSS - 排版
- Tailwind CSS - 字體系列
- Tailwind CSS - 字型大小
- Tailwind CSS - 字型平滑
- Tailwind CSS - 字型樣式
- Tailwind CSS - 字型粗細
- Tailwind CSS - 數字字型變體
- Tailwind CSS - 字間距
- Tailwind CSS - 行數限制
- Tailwind CSS - 行高
- Tailwind CSS - 列表樣式圖片
- Tailwind CSS - 列表樣式位置
- Tailwind CSS - 列表樣式型別
- Tailwind CSS - 文字對齊
- Tailwind CSS - 文字顏色
- Tailwind CSS - 文字裝飾
- Tailwind CSS - 文字裝飾顏色
- Tailwind CSS - 文字裝飾樣式
- Tailwind CSS - 文字裝飾粗細
- Tailwind CSS - 文字下劃線偏移
- Tailwind CSS - 文字轉換
- Tailwind CSS - 文字溢位
- Tailwind CSS - 文字換行
- Tailwind CSS - 文字縮排
- Tailwind CSS - 垂直對齊
- Tailwind CSS - 空白符
- Tailwind CSS - 斷字
- Tailwind CSS - 連字元
- Tailwind CSS - 內容
- Tailwind CSS - 背景
- Tailwind CSS - 背景附件
- Tailwind CSS - 背景裁剪
- Tailwind CSS - 背景顏色
- Tailwind CSS - 背景原點
- Tailwind CSS - 背景位置
- Tailwind CSS - 背景重複
- Tailwind CSS - 背景大小
- Tailwind CSS - 背景圖片
- Tailwind CSS - 漸變顏色停止
- Tailwind CSS - 邊框
- Tailwind CSS - 邊框半徑
- Tailwind CSS - 邊框寬度
- Tailwind CSS - 邊框顏色
- Tailwind CSS - 邊框樣式
- Tailwind CSS - 分隔線寬度
- Tailwind CSS - 分隔線顏色
- Tailwind CSS - 分隔線樣式
- Tailwind CSS - 輪廓寬度
- Tailwind CSS - 輪廓顏色
- Tailwind CSS - 輪廓樣式
- Tailwind CSS - 輪廓偏移
- Tailwind CSS - 環寬度
- Tailwind CSS - 環顏色
- Tailwind CSS - 環偏移寬度
- Tailwind CSS - 環偏移顏色
- Tailwind CSS - 效果
- Tailwind CSS - 盒子陰影
- Tailwind CSS - 盒子陰影顏色
- Tailwind CSS - 不透明度
- Tailwind CSS - 混合模式
- Tailwind CSS - 背景混合模式
- Tailwind CSS - 濾鏡
- Tailwind CSS - 模糊
- Tailwind CSS - 亮度
- Tailwind CSS - 對比度
- Tailwind CSS - 投影
- Tailwind CSS - 灰度
- Tailwind CSS - 色調旋轉
- Tailwind CSS - 反相
- Tailwind CSS - 飽和度
- Tailwind CSS - 棕褐色
- Tailwind CSS - 背景模糊
- Tailwind CSS - 背景亮度
- Tailwind CSS - 背景對比度
- Tailwind CSS - 背景灰度
- Tailwind CSS - 背景色調旋轉
- Tailwind CSS - 背景反相
- Tailwind CSS - 背景不透明度
- Tailwind CSS - 背景飽和度
- Tailwind CSS - 背景棕褐色
- Tailwind CSS - 表格
- Tailwind CSS - 邊框塌陷
- Tailwind CSS - 邊框間距
- Tailwind CSS - 表格佈局
- Tailwind CSS - 標題位置
- Tailwind CSS - 過渡和動畫
- Tailwind CSS - 過渡屬性
- Tailwind CSS - 過渡持續時間
- Tailwind CSS - 過渡時序函式
- Tailwind CSS - 過渡延遲
- Tailwind CSS - 動畫
- Tailwind CSS - 變換
- Tailwind CSS - 縮放
- Tailwind CSS - 旋轉
- Tailwind CSS - 位移
- Tailwind CSS - 傾斜
- Tailwind CSS - 變換原點
- Tailwind CSS - 互動性
- Tailwind CSS - 強調顏色
- Tailwind CSS - 外觀
- Tailwind CSS - 游標
- Tailwind CSS - 游標顏色
- Tailwind CSS - 指標事件
- Tailwind CSS - 調整大小
- Tailwind CSS - 滾動行為
- Tailwind CSS - 滾動邊距
- Tailwind CSS - 滾動填充
- Tailwind CSS - 滾動捕捉對齊
- Tailwind CSS - 滾動捕捉停止
- Tailwind CSS - 滾動捕捉型別
- Tailwind CSS - 觸控操作
- Tailwind CSS - 使用者選擇
- Tailwind CSS - 將更改
- Tailwind CSS - SVG
- Tailwind CSS - 填充
- Tailwind CSS - 描邊
- Tailwind CSS - 描邊寬度
- Tailwind CSS - 可訪問性
- Tailwind CSS - 螢幕閱讀器
- Tailwind CSS - 強制顏色調整
- Tailwind CSS - 附加
- Tailwind CSS - 與預處理器一起使用
- Tailwind CSS - 生產最佳化
- Tailwind CSS - 參考
- Tailwind CSS - 核心概念
- Tailwind CSS - 自定義
- Tailwind CSS - 佈局
- Tailwind CSS - Flexbox 和 Grid
- Tailwind CSS - 間距
- Tailwind CSS - 大小
- Tailwind CSS - 排版
- Tailwind CSS - 背景
- Tailwind CSS - 邊框
- Tailwind CSS - 效果
- Tailwind CSS - 濾鏡
- Tailwind CSS - 表格
- Tailwind CSS - 過渡和動畫
- Tailwind CSS - 變換
- Tailwind CSS - 互動性
- Tailwind CSS - 資源
- Tailwind CSS - 討論
- Tailwind CSS - 有用資源
Tailwind CSS - 深色模式
深色模式是許多作業系統中的一項功能,它將螢幕的配色方案更改為較暗的色調。它在低光照條件下提高了可見性,並與傳統的明亮主題相比,提供了更柔和的觀看體驗。
Tailwind CSS簡化了在您的網站上實現深色模式的過程。它提供了一個內建的深色模式變體,允許您輕鬆地為亮色和深色主題設定網站樣式。
您可以使用Tailwind 的深色變體定義深色模式的特定樣式,確保您的網站在亮色和深色設定下都能看起來很棒。
示例
<!DOCTYPE html> <html lang="en" class="dark"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-200 p-4"> <div class="grid grid-cols-2 gap-6"> <!-- Light Mode Card --> <div class="bg-white p-6 rounded-lg shadow-xl"> <h2 class="text-xl font-semibold mb-2 text-gray-800"> Light Mode </h2> <p class="text-gray-600"> This is the light mode version of the card. The background is white, and the text is in shades of gray, offering a clean and bright appearance. </p> </div> <!-- Dark Mode Card --> <div class="bg-gray-900 p-6 rounded-lg shadow-xl"> <h2 class="text-xl font-semibold mb-2 text-gray-100"> Dark Mode </h2> <p class="text-gray-400"> This is the dark mode version of the card. The background is dark gray, and the text is in lighter shades, making it easier to read in low-light conditions. </p> </div> </div> </body> </html>
此示例顯示了卡片元件在亮色模式和深色模式下的外觀,並排顯示。亮色模式卡片具有白色背景和深色文字,而深色模式卡片具有深色背景和淺色文字,便於閱讀。
使用 Tailwind CSS 手動切換深色模式
要在您的 Tailwind CSS 專案中手動控制深色模式,您可以使用“選擇器”策略,而不是依賴系統的預設設定來處理深色模式。以下是配置方法。
在您的tailwind.config.js檔案中,設定深色模式如下:
module.exports = { darkMode: 'selector', // ... }
透過此設定,當元素上存在特定類(例如,dark)時,將應用深色模式樣式,而不是依賴使用者的系統設定。
示例:無深色模式
<html> <body> <!-- This will be white --> <div class="bg-white dark:bg-black"> <!-- ... --> </div> </body> </html>
示例:啟用深色模式
<html class="dark"> <body> <!-- This will be black --> <div class="bg-white dark:bg-black"> <!-- ... --> </div> </body> </html>
如果您在Tailwind 配置中使用了字首,請確保將其應用於深色模式類。例如,使用像tw-這樣的字首,您應該使用tw-dark來啟用深色模式。此外,為了管理何時應用 dark 類,您可以使用 JavaScript 檢查使用者首選項(例如來自localStorage)並相應地更新 HTML。
自定義深色模式選擇器
在某些框架中,深色模式的處理方式不同,使用唯一的類名或方法。Tailwind CSS允許您透過在配置中定義自定義選擇器來自定義深色模式的應用方式。
您可以透過使用陣列配置darkMode來設定自定義選擇器,如下所示:
/** @type {import('tailwindcss').Config} */ module.exports = { darkMode: ['selector', '[data-mode="dark"]'], // ... }
Tailwind 將使用:where()偽類包裝您的自定義選擇器,以確保其特異性與基於媒體的預設策略匹配。
.dark\:underline:where([data-mode="dark"], [data-mode="dark"] *) { text-decoration-line: underline; }
同時支援系統首選項和手動選擇
您可以使用選擇器策略來同時支援系統首選項和手動主題切換。此示例顯示瞭如何使用localStorage和window.matchMedia() API 來管理主題。
// Check and apply the theme on page load if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } // To set light mode localStorage.theme = 'light'; // To set dark mode localStorage.theme = 'dark'; // To respect the OS preference localStorage.removeItem('theme');
您可以完全靈活地實現這一點,無論您選擇在客戶端管理首選項還是將它們儲存在伺服器上並在頁面呈現期間應用它們。
自定義深色模式變體
如果您更願意使用您自己的深色模式變體而不是Tailwind 的預設變體,您可以在您的tailwind.config.js檔案中對其進行自定義。要設定自定義深色模式變體,請使用以下配置。
/** @type {import('tailwindcss').Config} */ module.exports = { darkMode: ['variant', '&:not(.light *)'], // ... }
使用此方法,Tailwind 不會更改您提供的選擇器。因此,請注意其特異性,並考慮使用:where()偽類來匹配其他 Tailwind 實用程式的特異性。
使用多個選擇器
如果您需要適應不同的場景來啟用深色模式,可以在配置檔案中陣列內指定多個選擇器。
/** @type {import('tailwindcss').Config} */ module.exports = { darkMode: ['variant', [ '@media (prefers-color-scheme: dark) { &:not(.light *) }', '&:is(.dark *)', ]], // ... }
此配置允許您透過指定多個選擇器來處理各種深色模式用例。