用途:在编写 Tailwind CSS 样式、配置 @theme 令牌或从 v3 迁移到 v4 时提供规范与模式参考。资料强调 v4 与 v3 差异较大,实现前应通过 Context7(query-docs)查阅当前文档,避免使用过时训练数据。
主要能力:v4 取消 tailwind.config.ts,配置全部写在 CSS 中。核心指令包括 @import "tailwindcss"(入口,替代 @tailwind base/components/utilities)、@theme(定义或扩展设计令牌并自动生成工具类)、@theme inline(把 CSS 变量映射为工具类而不生成新变量)、@theme static(定义不生成工具类的令牌)、@utility(创建自定义工具类,替代 @layer components 加 @apply)、@custom-variant(定义自定义变体)。@theme 中 --color-brand 会自动产生 bg-brand、text-brand、border-brand;z-index 建议用令牌如 --z-modal 并以 z-(--z-modal) 引用。CSS Modules 需在文件顶部加 @reference "#tailwind"。动画使用 tw-animate-css 的 animate-in/animate-out 配合 fade-in、slide-in-from-top 等;小数间距用方括号写法如 [0.625rem]。
编码规则:优先 gap 而非 space-x/space-y;等宽高用 size-*;移动端高度用 min-h-dvh;透明度用 bg-black/50 修饰符;优先设计令牌而非任意值;不要动态拼接类名;用 @utility 而非 @apply 配 @layer;容器用内边距而非末子元素外边距。
用法与集成:类名合并用 cn()(clsx 加 tailwind-merge),静态 className 用普通字符串,条件类名用 cn()。组件变体用 tailwind-variants 的 tv(),备选 class-variance-authority 的 cva()。ESLint 可用 eslint-plugin-better-tailwindcss,规则含 no-conflicting-classes、no-unknown-classes、enforce-canonical-classes、no-duplicate-classes、no-deprecated-classes、useSortedClasses,后者可配置 attributes 与 functions(clsx、cva、cn、tv、tw)。
适用场景与限制:适合 v4 新项目与 v3 升级项目;迁移细节见 references/v3-to-v4-migration.md。常见错误包括 bg-primary 失效需加 @theme inline、颜色全黑白因重复 hsl() 包裹、@apply 失败改用 @utility、迁移后构建失败需删除 tailwind.config.ts、动画需替换为 tw-animate-css、v4 不支持嵌套 @theme。暗色模式用 :root/.dark 定义 CSS 变量再经 @theme inline 映射,语义类自动切换。验证要求构建零错误、无残留 v3 类名、同元素无冲突类。具体版本、收费与平台信息暂未提供。