用途
Tailwind Design System 技能用于构建生产级设计系统,基于 Tailwind CSS v4 提供 CSS-first 配置、设计令牌、组件变体、响应式模式和无障碍支持。它适合在需要创建组件库、统一 UI 规范或从 v3 迁移到 v4 的项目中使用。
主要能力
- 使用 Tailwind CSS v4 创建组件库
- 通过 CSS-first 配置实现设计令牌与主题
- 构建响应式且可访问的组件
- 标准化代码库中的 UI 模式
- 从 Tailwind v3 迁移到 v4
- 使用原生 CSS 特性设置暗色模式
v4 关键变化
技能列出了 v3 到 v4 的模式对照:
| v3 模式 | v4 模式 |
|---|---|
| tailwind.config.ts | 在 CSS 中使用 @theme |
| @tailwind base/components/utilities | @import "tailwindcss" |
| darkMode: "class" | @custom-variant dark (&:where(.dark, .dark *)) |
| theme.extend.colors | @theme { --color-*: value } |
| require("tailwindcss-animate") | 在 @theme 中使用 CSS @keyframes + @starting-style 处理入场动画 |
使用方式
技能提供了一份快速开始示例,展示了 Tailwind v4 的 CSS-first 配置写法:
/* app.css - Tailwind v4 CSS-first configuration */
@import "tailwindcss";
/* Define your theme with @theme */
@theme {
/* Semantic color tokens using OKLCH for better color perception */
--color-background: oklch(100% 0 0);
--color-foreground: oklch(14.5% 0.025 264);
--color-primary: oklch(14.5% 0.025 264);
--color-primary-foreground: oklch(98% 0.01 264);
--color-secondary: oklch(96% 0.01 264);
--color-secondary-foreground: oklch(14.5% 0.025 264);
--color-muted: oklch(96% 0.01 264);
--color-muted-foreground: oklch(46% 0.02 264);
--color-accent: oklch(96% 0.01 264);
--color-accent-foreground: oklch(14.5% 0.025 264);
--color-destructive: oklch(53% 0.22 27);
--color-destructive-foreground: oklch(98% 0.01 264);
--color-border: oklch(91% 0.01 264);
--color-ring: oklch(14.5% 0.025 264);
--color-card: oklch(100% 0 0);
--color-card-foreground: oklch(14.5% 0.025 264);
/* Ring offset for focus states */
--color-ring-offset: oklch(100% 0 0);
/* Radius tokens */
--radius-sm: 0.25rem;
--radius-md: 0.375rem;
--radius-lg: 0.5rem;
--radius-xl: 0.75rem;
/* Animation tokens - keyframes inside @theme are output when referenced by --animate-* variables */
--animate-fade-in: fade-in 0.2s ease-out;
--animate-fade-out: fade-out 0.2s ease-in;
--animate-slide-in: slide-in 0.3s ease-out;
--animate-slide-out: slide-out 0.3s ease-in;
@keyframes fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fade-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes slide-in {
from {
transform: translateY(-0.5rem);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@keyframes slide-out {
from {
transform: translateY(0);
opacity: 1;
}
to {
transform: translateY(-0.5rem);
opacity: 0;
}
}
}
/* Dark mode variant - use @custom-variant for class-based dark mode */
@custom-variant dark (&:where(.dark, .dark *));
/* Dark mode theme overrides */
.dark {
--color-background: oklch(14.5% 0.025 264);
--color-foreground: oklch(98% 0.01 264);
--color-primary: oklch(98% 0.01 264);
--color-primary-foreground: oklch(14.5% 0.025 264);
--color-secondary: oklch(22% 0.02 264);
--color-secondary-foreground: oklch(98% 0.01 264);
--color-muted: oklch(22% 0.02 264);
--color-muted-foreground: oklch(65% 0.02 264);
--color-accent: oklch(22% 0.02 264);
--color-accent-foreground: oklch(98% 0.01 264);
--color-destructive: oklch(42% 0.15 27);
--color-destructive-foreground: oklch(98% 0.01 264);
--color-border: oklch(22% 0.02 264);
--color-ring: oklch(83% 0.02 264);
--color-card: oklch(14.5% 0.025 264);
--color-card-foreground: oklch(98% 0.01 264);
--color-ring-offset: oklch(14.5% 0.025 264);
}
/* Base styles */
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground antialiased;
}
}
核心概念
1. 设计令牌层级
Brand Tokens (abstract)
└── Semantic Tokens (purpose)
└── Component Tokens (specific)
Example:
oklch(45% 0.2 260) → --color-primary → bg-primary
2. 组件架构
Base styles → Variants → Sizes → States → Overrides
适用场景
- 使用 Tailwind v4 创建组件库
- 通过 CSS-first 配置实现设计令牌与主题
- 构建响应式且可访问的组件
- 统一代码库中的 UI 模式
- 从 Tailwind v3 迁移到 v4
- 使用原生 CSS 特性设置暗色模式
限制
该技能面向 Tailwind CSS v4(2024 年及以后)。对于 v3 项目,需参考升级指南。更详细的模式文档位于 references/details.md,当上述导航层级不足时可阅读该文件。关于安装命令、收费与价格、平台支持等具体信息,资料中暂未提供。