
- 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軸索引
- 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 中是用於在 CSS 中應用或自定義樣式的命令。
指令是您在 CSS 中使用的Tailwind CSS 命令,用於訪問特殊功能並控制 Tailwind CSS 應用的樣式。
@tailwind
@tailwind 指令允許您將 Tailwind 的基礎樣式、元件、實用程式和變體直接包含到您的 CSS 中。
示例
/** * Inserts Tailwind's foundational styles and any additional base styles from plugins. */ @tailwind base; /** * Includes Tailwind's component styles and any extra component styles from plugins. */ @tailwind components; /** * Adds Tailwind's utility classes and any additional utility classes from plugins. */ @tailwind utilities; /** * Controls the placement of variant styles (like hover, focus, and responsive) in your CSS. * If not specified, these variants are added at the end of your stylesheet by default. */ @tailwind variants;
@layer
@layer 指令允許您指定自定義樣式在 Tailwind 中屬於哪個類別(基礎、元件或實用程式)。
示例
/** * Import Tailwind's base styles, component styles, and utility classes into your CSS. */ @tailwind base; @tailwind components; @tailwind utilities; /** * Define custom base styles for HTML elements using the base layer. */ @layer base { h1 { @apply font-bold text-3xl; /* Applies a bold font and large size to h1 elements */ } h2 { @apply font-semibold text-2xl; /* Applies a semi-bold font and medium size to h2 elements */ } } /** * Create custom component styles using the components layer. */ @layer components { .card { @apply bg-gray-100 border border-gray-300 p-4 rounded-lg shadow-md; /* Styles for a card component */ } } /** * Add custom utility classes using the utilities layer. */ @layer utilities { .no-opacity { opacity: 1; /* Sets the element's opacity to fully opaque */ } .blurred { filter: blur(5px); /* Applies a blur effect to elements */ } }
Tailwind 會自動在@layer 指令中組織 CSS 以匹配@tailwind規則的順序,因此您無需擔心順序以避免特異性問題。
這些層中的自定義 CSS 僅在 HTML 中使用時才會包含在最終構建中,就像預設的 Tailwind 類一樣。
此外,使用@layer 允許您將修飾符(如懸停、焦點)和響應式斷點(如md: 和lg:)應用到您的自定義樣式。
@apply
@apply 允許您將現有的實用程式類直接包含到您的自定義 CSS 中。
如果您希望在編寫自己的 CSS 時使用 Tailwind 的樣式,這將非常有用,從而更容易自定義或覆蓋來自其他來源的樣式。
示例
.custom-card { @apply rounded-lg shadow-lg; } .custom-input { @apply border border-gray-400 rounded-md; } .custom-header { @apply text-xl font-semibold text-gray-800; }
當您使用@apply 時,預設情況下會刪除任何!important宣告以防止與其他 CSS 規則衝突。以下是它的工作原理。
示例
/* Define a class with !important */ .text-red { color: red !important; } /* Apply the .text-red class to another class */ .alert { @apply text-red; } /* The .text-red class retains the !important declaration */ .text-red { color: red !important; } /* The .alert class does not include !important */ .alert { color: red; }
如果您想使用@apply包含來自現有類的樣式並確保它們是!important,則需要在自定義 CSS 中每個屬性的末尾顯式新增!important。
/* The .card class without !important */ .card { padding: 1rem; background-color: #edf2f7; border: 1px solid #cbd5e0; border-radius: .375rem; } /* The .card-important class with !important */ .card-important { padding: 1rem !important; background-color: #edf2f7 !important; border: 1px solid #cbd5e0 !important; border-radius: .375rem !important; }
要使用@apply應用!important,請在每個屬性中新增!important。Sass/SCSS,請使用這種方法包含!important
/* Apply !important using Sass variable */ .card-important { @apply p-4 bg-gray-200 border border-gray-400 rounded; @apply #{$important}; /* Applies !important */ }
在每個元件的 CSS 中使用 @apply
在Vue 和Svelte 等框架中,您可以將樣式直接包含在每個元件檔案內的<style>塊中。
嘗試在Vue 或Svelte 等框架中的<style>塊內使用來自全域性 CSS 的自定義類會導致錯誤,因為它找不到該類。
示例 :main.css
@tailwind base; @tailwind components; @tailwind utilities; @layer components { .button { background-color: theme('colors.blue.500'); border-radius: theme('borderRadius.md'); padding: theme('spacing.4'); color: theme('colors.white'); } }
示例 :Card.svelte
<button> <slot></slot> </button> <style> button { /* This won't work because Button.svelte and main.css are processed separately */ @apply button; } </style>
在此示例中,.button 在 main.css 中定義,但Button.svelte 中的@apply不起作用,因為每個檔案都是單獨處理的。Vue 和Svelte獨立處理它們的<style>塊,因此它們無法直接使用來自全域性 CSS 的樣式。
當你有多個元件,每個元件都有自己的<style>塊時,Tailwind 會分別處理每個檔案。例如,如果你在main.css中定義了一個.button類,但嘗試在Button.svelte中使用@apply button,它將無法工作。這是因為 Tailwind 會獨立處理Button.svelte和main.css,所以在Button.svelte中使用.button類時,它無法識別該類。
不要嘗試跨檔案使用@apply,而是在Tailwind 的配置中直接定義你的樣式。以下是方法。
示例
const plugin = require('tailwindcss/plugin') module.exports = { // ... plugins: [ plugin(function ({ addComponents, theme }) { addComponents({ '.button': { backgroundColor: theme('colors.blue.500'), borderRadius: theme('borderRadius.md'), padding: theme('spacing.4'), boxShadow: theme('boxShadow.md'), color: theme('colors.white'), } }) }) ] }
透過這樣做,任何 Tailwind CSS 檔案都可以訪問.button類。
為了獲得更流暢的體驗,最好直接在 HTML 中使用Tailwind 的實用程式類,而不是依賴於跨檔案的@apply。這種方法簡化了你的設定並避免了複雜情況。
@config
@config 指令告訴 Tailwind CSS 在處理特定 CSS 檔案時使用哪個配置檔案。如果你專案的不同部分使用了不同的配置檔案,這將非常有用。
在site.css中,你可能會使用預設配置。
示例
@config "./tailwind.site.config.js"; @tailwind base; @tailwind components; @tailwind utilities;
在admin.css中,你可以使用以下方式指定不同的配置檔案:
示例
@config "./tailwind.admin.config.js"; @tailwind base; @tailwind components; @tailwind utilities;
你在@config指令中指定的路徑相對於 CSS 檔案本身,並將覆蓋你在 PostCSS 設定或 Tailwind CLI 中設定的任何配置。
當使用 Tailwind CSS 與postcss-import時,請確保所有@import語句都位於 CSS 檔案中@config指令之前。
為什麼?postcss-import需要先處理@import語句,遵循 CSS 規則,這些規則要求匯入出現在任何其他規則之前。如果你將@config放在@import語句之前,會導致問題,你的樣式可能無法正確處理。
示例:錯誤順序
/* Incorrect order - will cause problems */ @config "./tailwind.admin.config.js"; @import "tailwindcss/base"; @import "./custom-base.css"; @import "tailwindcss/components"; @import "./custom-components.css"; @import "tailwindcss/utilities";
示例:正確順序
/* Always put @import first */ @import "tailwindcss/base"; @import "./custom-base.css"; @import "tailwindcss/components"; @import "./custom-components.css"; @import "tailwindcss/utilities"; @config "./tailwind.admin.config.js";
函式
使用 Tailwind,你可以在 CSS 中使用自定義函式來訪問Tailwind 特定的值。這些函式在構建時計算,並在最終 CSS 中轉換為靜態值。
@theme
要訪問Tailwind 配置中的值,只需使用帶點表示法的theme()函式即可。
示例
.button { border-width: theme(borderWidth.md); }
如果需要使用帶點的值(如邊框寬度比例中的 3.5),請使用方括號
示例
.button { border-width: theme(borderWidth[3.5]); }
要訪問Tailwind 預設調色盤中的巢狀顏色,請使用點表示法以確保正確引用顏色值。
避免對巢狀顏色值使用連字元。
示例
/* Incorrect */ .button { background-color: theme(colors.green-500); }
使用點來訪問巢狀顏色值。
示例
/* Correct */ .button { background-color: theme(colors.green.500); }
要更改主題顏色的不透明度,請新增一個斜槓,後跟不透明度百分比
示例
.card-bg { background-color: theme(colors.green.300 / 50%); }
@screens
Tailwind CSS 中的screen()函式允許你使用命名斷點建立媒體查詢,避免在 CSS 中重複值。
示例
@media screen(md) { /* Styles for medium screens and up */ }
在構建 CSS 時,這將轉換為指定斷點的標準媒體查詢。
示例
@media (min-width: 768px) { /* Styles for screens that are at least 768px wide */ }
@screens
Tailwind CSS 中的screen()函式可幫助你使用命名斷點建立媒體查詢,而不是在 CSS 中重複其值。
示例
@media screen(md) { /* Styles for medium screens and up */ }
在構建 CSS 時,這將轉換為指定斷點的標準媒體查詢。
示例
@media (min-width: 768px) { /* Styles for screens that are at least 768px wide */ }