SuperAPI AI 工具集

Tailwind v4 + shadcn/ui

前端与建站

查看项目

更新于 10-15 17:27

技能介绍

用途:指导在 Tailwind CSS v4 环境下搭建 shadcn/ui,采用 @theme inline 模式与 CSS 变量架构,并覆盖暗色模式、主题配置、组件组合、无障碍与表单集成。不涉及 Tailwind v3 与 PostCSS 配置。

前提假设:Tailwind CSS v4+、最新 shadcn/ui、Vite(使用 @tailwindcss/vite 插件)、React 18+ 或 Next.js 14+、TypeScript 5+。

主要原则:用 @theme inline 将 CSS 变量映射为 Tailwind token;在 :root 与 .dark 中用 hsl() 包裹颜色值;components.json 中设 "tailwind.config": "";若存在 tailwind.config.ts 则删除(v4 用 CSS 配置);使用 @tailwindcss/vite 插件而非 PostCSS;用 cn() 处理条件类名;语义色自动适配暗色模式,无需 dark: 变体;插件用 @plugin 指令;由较小 shadcn 原语组合复杂组件;用包装模式扩展组件而不改原文件;用 CVA 管理变体;表单兼容组件使用 forwardRef;借助 Radix UI 原语获得无障碍能力。

必须::root 与 .dark 中颜色值用 hsl() 包裹;用 @theme inline 映射全部 CSS 变量;components.json 中 "tailwind.config": "";删除已存在的 tailwind.config.ts;使用 @tailwindcss/vite 插件。

建议:使用语义色 token(--background、--foreground 等);用 cn();插件用 @plugin;组合组件;包装模式扩展;CVA 变体;需要 ref 转发时用 forwardRef;用键盘导航与屏幕阅读器测试无障碍;复杂交互用 Radix 原语;图标按钮提供 ARIA 标签。

避免:把 :root 或 .dark 放进 @layer base;使用 .dark { @theme { } } 嵌套模式;重复包裹颜色;用 tailwind.config.ts 配置主题色;使用已弃用的 @apply;对语义色用 dark: 变体;用 @import 或 require() 加载插件;直接修改基础 shadcn 组件;从零构建下拉/对话框;仅靠颜色表示状态;跳过无障碍测试。

用法示例:src/index.css 中 @import "tailwindcss"; 后写 @theme inline 映射 --color-background 等,并在 :root 与 .dark 定义 hsl() 变量;vite.config.ts 引入 @tailwindcss/vite 并加入 plugins;components.json 设置 tailwind.config 为空、css 指向 src/index.css、baseColor 为 slate、cssVariables 为 true。

限制:仅覆盖上述范围,未提供具体收费、平台或效果信息。