
- Tailwind CSS 教程
- Tailwind CSS - 首頁
- Tailwind CSS - 路線圖
- Tailwind CSS - 簡介
- Tailwind CSS - 安裝
- Tailwind CSS - 編輯器設定
- Tailwind CSS - 核心概念
- Tailwind CSS - 實用優先基礎
- Tailwind CSS - 懸停、聚焦和其他狀態
- Tailwind CSS - 響應式設計
- Tailwind CSS - 暗黑模式
- Tailwind CSS - 重用樣式
- Tailwind CSS - 新增自定義樣式
- Tailwind CSS - 函式和指令
- Tailwind CSS - 自定義
- Tailwind CSS - 配置
- Tailwind CSS - 內容配置
- Tailwind CSS - 主題配置
- Tailwind CSS - 自定義螢幕
- Tailwind CSS - 自定義顏色
- Tailwind CSS - 自定義間距
- Tailwind CSS - 外掛
- Tailwind CSS - 預設
- Tailwind CSS - 基礎樣式
- Tailwind CSS - 預載入
- Tailwind CSS - 佈局
- Tailwind CSS - 高寬比
- Tailwind CSS - 容器
- Tailwind CSS - 列
- Tailwind CSS - 換行後
- Tailwind CSS - 換行前
- Tailwind CSS - 換行內
- Tailwind CSS - 盒子裝飾換行
- Tailwind CSS - 盒子尺寸
- 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,不如使用Tailwind 的實用程式類來有效地處理這些重複。
以下是在網頁上顯示配置檔案小部件的簡單示例,每個小部件都使用了三次相同的實用程式類。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4 bg-gray-100"> <div class="flex space-x-4 overflow-x-auto p-4 bg-gray-200"> <!-- Profile Widget 1 --> <div class="flex-shrink-0 w-56 p-4 bg-white border border-gray-300 rounded-lg shadow-lg flex flex-col items-center space-y-3"> <div class="mb-3"> <img class="h-20 w-20 rounded-full border-4 border-cyan-500 shadow-md" src="https://randomuser.me/api/portraits/men/1.jpg" alt="Profile Picture"/> </div> <div class="text-center"> <h3 class="text-lg font-semibold text-gray-800 mb-1">John Doe</h3> <p class="text-gray-600 text-sm mb-2">Tech Enthusiast</p> <p class="text-gray-500 text-xs">John has over 5 years of experience in the tech industry, focusing on software development and innovation. </p> </div> </div> <!-- Profile Widget 2 --> <div class="flex-shrink-0 w-56 p-4 bg-white border border-gray-300 rounded-lg shadow-lg flex flex-col items-center space-y-3"> <div class="mb-3"> <img class="h-20 w-20 rounded-full border-4 border-rose-500 shadow-md" src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile Picture"/> </div> <div class="text-center"> <h3 class="text-lg font-semibold text-gray-800 mb-1"> Jane Smith </h3> <p class="text-gray-600 text-sm mb-2">UI/UX Designer</p> <p class="text-gray-500 text-xs">Jane is a skilled UI/UX designer with 3 years of experience in creating intuitive user interfaces and enhancing user experiences. </p> </div> </div> <!-- Profile Widget 3 --> <div class="flex-shrink-0 w-56 p-4 bg-white border border-gray-300 rounded-lg shadow-lg flex flex-col items-center space-y-3"> <div class="mb-3"> <img class="h-20 w-20 rounded-full border-4 border-violet-500 shadow-md" src="https://randomuser.me/api/portraits/men/3.jpg" alt="Profile Picture"/ > </div> <div class="text-center"> <h3 class="text-lg font-semibold text-gray-800 mb-1"> Alice Johnson</h3> <p class="text-gray-600 text-sm mb-2">Data Scientist</p> <p class="text-gray-500 text-xs">Alice has 7 years of experience as a data scientist, specializing in data analysis and machine learning. </p> </div> </div> </div> </body> </html>
不用擔心!我們將幫助您瞭解如何在專案中重用樣式以及何時有效地使用每種方法。
使用編輯器和語言功能
通常,重複樣式不是問題,因為它們都在一個地方或使用迴圈建立,因此您只需編寫一次程式碼。
如果您在一個檔案中工作,請使用多游標編輯一次更改多行。對於重複的元素,請使用迴圈從一段程式碼生成它們。這使您的工作保持高效和有序。
多游標編輯
多游標編輯是許多文字編輯器中的一項功能,它使您能夠在文件中的不同位置放置多個游標。這使您能夠立即在多個位置進行相同的更改,使其非常適合快速更新重複的內容。
當您在一個檔案中具有重複的樣式或元素時,多游標編輯可以幫助您一次修改所有這些元素。讓我們看一個示例來了解它是如何工作的。
假設您有以下專案列表,並且您希望將每個專案的類bg-red-100更新為bg-teal-100。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4"> <h3 class="font-bold underline mb-4"> List of Item in Shopping cart: </h3> <ul class="shopping-cart"> <li class="bg-red-100 p-2">Apples</li> <li class="bg-red-100 p-2">Bananas</li> <li class="bg-red-100 p-2">Oranges</li> <li class="bg-red-100 p-2">Grapes</li> </ul> </body> </html>
新增游標
按住 Alt 鍵並點選程式碼中每個 bg-red-100 旁邊。這將在您點選的每個位置放置一個游標,並且所有游標都到位後,鍵入 bg-teal-100。所有 bg-red-100 的例項將立即更新為 bg-teal-100。
更新後的程式碼
<ul class="shopping-cart"> <li class="bg-teal-100 p-2">Apples</li> <li class="bg-teal-100 p-2">Bananas</li> <li class="bg-teal-100 p-2">Oranges</li> <li class="bg-teal-100 p-2">Grapes</li> </ul>
您可能會發現,使用多游標編輯通常是處理重複樣式的最簡單方法。它可以幫助您一次更新所有例項,因此您不需要額外的工具或方法。
迴圈
程式設計中的迴圈使處理重複元素變得更容易。您可以使用迴圈自動建立相同的 HTML 結構,而不是一遍又一遍地編寫相同的程式碼。因此,在 Web 專案中使用重複的設計元素時,務必有效地使用迴圈。
在為每個重複的設計元素建立單獨的元件或自定義類之前,請檢查您是否多次使用該元素。
例如,本指南開頭顯示的個人資料部件使用了相同的設計重複三次。與其單獨編寫每個部件,我們可以使用迴圈從單個模板生成多個元素。讓我們看看下面的示例是如何工作的。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4"> <div id="profile-container" class="flex space-x-4 overflow-x-auto p-4 bg-gray-200"> <!-- Profile Widgets will be dynamically inserted here --> </div> <script> document.addEventListener('DOMContentLoaded', () => { const profiles = [ { name: "John Doe", role: "Tech Enthusiast", imgSrc: "https://randomuser.me/api/portraits/men/1.jpg", borderColor: "border-cyan-500" }, { name: "Jane Smith", role: "UI/UX Designer", imgSrc: "https://randomuser.me/api/portraits/women/2.jpg", borderColor: "border-rose-500" }, { name: "Alice Johnson", role: "Data Scientist", imgSrc: "https://randomuser.me/api/portraits/men/3.jpg", borderColor: "border-violet-500" } ]; const container = document.getElementById('profile-container'); profiles.forEach(profile => { container.innerHTML += ` <div class="flex-shrink-0 w-56 p-4 bg-white border border-gray-300 rounded-lg shadow-lg flex flex-col items-center space-y-3"> <div class="mb-3"> <img class="h-20 w-20 rounded-full border-4 ${profile.borderColor} shadow-md" src="${profile.imgSrc}" alt="Profile Picture"/> </div> <div class="text-center"> <h3 class="text-lg font-semibold text-gray-800 mb-1"> ${profile.name}</h3> <p class="text-gray-600 text-sm mb-2"> ${profile.role}</p> <p class="text-gray-500 text-xs">Profile description here.</p> </div> </div> `; }); }); </script> </body> </html>
使用迴圈意味著您只需編寫一次標記,避免重複並使更新更容易。它可以有效地管理動態資料,並確保更改在一個地方應用。
提取元件和部分
如果您希望在不同的檔案中重用樣式,如果您使用的是像React、Svelte或Vue這樣的前端框架,最好建立一個元件。如果您使用的是像Blade、ERB、Twig或Nunjucks這樣的模板語言,則應建立一個模板部分。這種方法有助於保持程式碼井井有條,並使其更容易維護。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4"> <div class="testimonial-sectio"> <div class="testimonial-card p-4 bg-white border border-gray-300 rounded-lg shadow-lg"> <img class="w-16 h-16 rounded-full border-2 border-gray-300" src="https://randomuser.me/api/portraits/men/1.jpg" alt="Alice Johnson's photo" /> <h3 class="mt-2 text-lg font-semibold text-gray-800"> Alice Johnson </h3> <p class="mt-1 text-gray-600"> This service is fantastic! It exceeded all my expectations. </p> </div> <div class="testimonial-card p-4 bg-white border border-gray-300 rounded-lg shadow-lg mt-4"> <img class="w-16 h-16 rounded-full border-2 border-gray-300" src="https://randomuser.me/api/portraits/women/2.jpg" alt="Bob Smith's photo" /> <h3 class="mt-2 text-lg font-semibold text-gray-800"> Bob Smith </h3> <p class="mt-1 text-gray-600"> An excellent experience from start to finish. </p> </div> </div> </body> </html>
對於上面的示例,使用Tailwind CSS在React中建立一個TestimonialCard元件,並在您的專案中根據需要使用它多次。下面是一個您可以用來顯示推薦的函式式元件。
示例
// TestimonialCard.jsx import React from 'react'; const TestimonialCard = ({ name, photo, testimonial }) => ( <div className="p-4 bg-white border border-gray-300 rounded-lg shadow-lg"> <img className="w-16 h-16 rounded-full border-2 border-gray-300" src={photo} alt={`${name}'s photo`} /> <h3 className="mt-2 text-lg font-semibold text-gray-800">{name}</h3> <p className="mt-1 text-gray-600">{testimonial}</p> </div> ); export default TestimonialCard;
要在您的應用程式或設計中使用TestimonialCard元件,只需匯入它並提供必要的props即可。
示例
// App.jsx import React from 'react'; import TestimonialCard from './TestimonialCard'; const App = () => ( <div className="p-4 bg-gray-100"> <div className="flex space-x-4"> <TestimonialCard name="John Doe" photo="https://randomuser.me/api/portraits/men/1.jpg" testimonial="John's experience was wonderful. The service was top-notch and exceeded expectations." /> <TestimonialCard name="Jane Smith" photo="https://randomuser.me/api/portraits/women/2.jpg" testimonial="Jane had a fantastic experience! Highly recommended for anyone looking for quality service." /> </div> </div> ); export default App;
在任何地方使用此元件,並輕鬆地從一個地方更新樣式。
與CSS抽象相比
在設計網頁介面時,僅靠CSS不足以處理複雜的元件。您需要HTML和CSS來有效地處理詳細的UI元素。
以“進度跟蹤器”為例。與其使用CSS單獨為每個步驟設定樣式,不如使用一個元件為每個步驟組合HTML和CSS。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="flex justify-center items-center h-screen bg-gray-100"> <div class="w-full max-w-3xl px-4 py-6 bg-white rounded-lg shadow-md"> <div class="text-center mb-8 text-gray-800"> <p class="text mb-4 ml-4"> This tracker shows your progress through different stages: </p> <ul class="list-disc list-inside text-left text-gray-600"> <li><strong class="text-green-500">Completed:</strong> Finished steps </li> <li><strong class="text-yellow-500">Current:</strong> The active step </li> <li><strong class="text-gray-300">Upcoming:</strong> Future steps </li> </ul> </div> <div class="relative flex items-center"> <div class="absolute inset-0 flex items-center pointer-events-none"> <div class="flex-1 h-1 bg-green-500"></div> <div class="flex-1 h-1 bg-yellow-400"></div> <div class="flex-1 h-1 bg-gray-300"></div> <div class="flex-1 h-1 bg-gray-300"></div> </div> <!-- Steps --> <div class="flex-1 text-center relative z-10"> <div class="w-12 h-12 rounded-full bg-green-500 text-white flex items-center justify-center mx-auto mb-2 text-2xl">✔</div> <div class="text-sm">Step 1</div> </div> <div class="flex-1 text-center relative z-10"> <div class="w-12 h-12 rounded-full bg-yellow-500 text-white flex items-center justify-center mx-auto mb-2 text-2xl">▶</div> <div class="text-sm">Step 2</div> </div> <div class="flex-1 text-center relative z-10"> <div class="w-12 h-12 rounded-full bg-gray-200 text-white flex items-center justify-center mx-auto mb-2 text-2xl">•</div> <div class="text-sm">Step 3</div> </div> <div class="flex-1 text-center relative z-10"> <div class="w-12 h-12 rounded-full bg-gray-200 text-white flex items-center justify-center mx-auto mb-3 text-2xl">•</div> <div class="text-sm">Step 4</div> </div> <div class="absolute right-0 top-1/2 w-1/4 h-px bg-gray-300"></div> </div> </div> </body> </html>
即使您使用類進行樣式設定,每次使用元件時最終也會重複HTML。雖然更新字型大小很簡單,但僅使用CSS進行更復雜的更改(例如將標題轉換為連結)則很困難。
元件和模板部分更好,因為它們結合了HTML和樣式。這樣,您就可以在一個地方更新字型大小或將所有標題更改為連結。
考慮使用模板部分或JavaScript元件來獲得更簡單的解決方案。
示例
import React from 'react'; function Step({ status, number }) { const statusClasses = { completed: 'bg-green-500', current: 'bg-yellow-500', upcoming: 'bg-gray-200' }; return ( <div className="flex-1 text-center relative z-10"> <div className={`w-12 h-12 rounded-full ${statusClasses[status]} text-white flex items-center justify-center mx-auto mb-2 text-2xl`}> {status === 'completed' ? '✔' : status === 'current' ? '▶' : '•'} </div> <div className="text-sm">Step {number}</div> </div> ); } function ProgressTracker() { return ( <div className="relative flex items-center"> <div className="absolute inset-0 flex items-center pointer-events-none"> <div className="flex-1 h-1 bg-green-500"></div> <div className="flex-1 h-1 bg-yellow-400"></div> <div className="flex-1 h-1 bg-gray-300"></div> <div className="flex-1 h-1 bg-gray-300"></div> </div> <Step status="completed" number={1} /> <Step status="current" number={2} /> <Step status="upcoming" number={3} /> <Step status="upcoming" number={4} /> <div className="absolute right-0 top-1/2 w-1/4 h-px bg-gray-300"></div> </div> ); } export default ProgressTracker;
使用元件和模板部分,您只需要實用程式類,因為樣式在一個地方處理。
使用Tailwind的@apply指令提取類
在設計網頁時,重複使用相同的實用程式類會導致您的HTML變得雜亂且難以管理。Tailwind CSS透過@apply指令來幫助解決這個問題。
什麼是@apply以及何時使用它?
@apply指令允許您透過應用一組Tailwind實用程式類來建立自定義CSS類。這透過將重複的樣式移動到您的CSS檔案中來保持HTML更簡潔。
雖然模板部分適用於複雜的元件,但@apply非常適合於頻繁使用的樣式。它有助於保持HTML整潔並保持樣式的一致性。
在使用@apply之前,您可能會在HTML中直接新增多個實用程式類來設定卡片的樣式。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4 bg-gray-200"> <div class="p-6 max-w-sm mx-auto bg-white rounded-lg shadow-md"> <h2 class="text-xl font-bold mb-2">Card Title</h2> <p class="text-gray-700 "> This is a card component styled with Tailwind utilities. </p> </div> </body> </html>
使用@apply後:在您的CSS中定義一個用於卡片的自定義類,然後在您的HTML中使用它。
<div class="card"> <h2 class="card-title">Card Title</h2> <p class="card-content"> This is a card component styled with Tailwind utilities. </p> </div>
帶有@apply的CSS
@tailwind base; @tailwind components; @tailwind utilities; @layer components { .card { @apply p-6 max-w-sm mx-auto bg-white rounded-lg shadow-md; } .card-title { @apply text-xl font-bold mb-2; } .card-content { @apply text-gray-700; } }
使用@apply指令有助於您保持樣式井井有條並使程式碼更簡潔。
避免過早抽象
不要僅僅為了清理HTML而使用@apply。這似乎是一個好主意,但它可能會帶來更多問題。
- 命名問題:想出類名可能會讓人感到疲憊。
- 多次編輯:過度使用@apply意味著需要不斷在CSS和HTML之間切換。
- 樣式更改:對一個類的更改可能會意外地影響您網站的其他部分。
- 更大的CSS檔案:許多自定義類會增加CSS檔案的大小並影響效能。
對於像按鈕這樣的小型可重用專案,請使用@apply,或者在像React這樣的框架中使用元件以進行更好的管理。