CSS 与 Tailwind CSS 样式专家技能,用于指导编写整洁、可维护、高性能且无障碍的样式代码,同时适用于传统 CSS 和 Tailwind CSS。
用途
- 创建或重构组件样式
- 搭建新项目的样式架构
- 优化 CSS 或 Tailwind 性能
- 制定团队样式约定
- 审查样式相关代码问题
- 实现响应式设计
- 确保无障碍合规
- 排查样式冲突与优先级问题
核心原则 可维护性优先、关注性能、默认无障碍(WCAG AA,对比度最低 4.5:1)、移动优先、一致性优于技巧性。
Tailwind 版本识别流程 先检查 package.json 中 tailwindcss 主版本得到初始状态(v4、v3 或 unknown);再用配置与语法信号交叉验证:出现 @import "tailwindcss"、@theme、@utility、@custom-variant 倾向 v4,出现 @tailwind base/components/utilities 且为配置驱动则倾向 v3;最终状态可为 v4、v3、conflict(冲突)或 unknown。给出建议时 v4 以 v4 为主路径并附 v3 备选,v3 反之;冲突时同时给出两条修复路径及推荐路径;未知时给出两条路径,新项目默认推荐 v4。
Tailwind 主要能力与规范
- 适用前提:需要快速 UI 迭代与共享工具类模式、已有可复用组件或设计令牌、难以用零散 CSS 统一风格时优先 Tailwind;UI 规模小、偏静态或团队尚未准备维护共享工具词汇时优先传统 CSS 或 CSS Modules。
- 类名排序采用 Concentric CSS 顺序(定位、显示与盒模型、尺寸与间距、边框、背景、排版、其他),推荐 prettier-plugin-tailwindcss:npm install -D prettier prettier-plugin-tailwindcss,并在 .prettierrc 中配置 plugins。
- 精简工具类,使用 mx-2 p-4 等简写,省略默认值。
- 响应式遵循移动优先,仅覆盖点使用前缀。
- 组件抽象优先于 @apply;@apply 仅用于跨组件真正重复的模式或基础重置,不用于一次性组件样式,不链式复用组件类。
- 配置:v3 使用 tailwind.config.js 集中主题令牌;v4 使用 CSS-first 的 @theme 定义颜色与字体,必要时用 @source 追加扫描路径。
- 动态类名禁止字符串插值,改用完整类名、对象映射或 clsx/classnames。
- 样式变体模式:通过 variant/size 预定义类映射,而非接受任意 className。
- 无障碍:语义化 HTML、颜色对比、focus 状态、sr-only 内容。
- 性能:v3 确保 content 路径完整,v4 默认自动扫描、必要时用 @source,生产构建保持 NODE_ENV=production。
- 团队协作:可安装 eslint-plugin-tailwindcss 并启用 classnames-order、no-custom-classname、no-contradicting-classname 规则。
- 常见问题:类名堆砌(抽取组件)、缺失无障碍(用 button 替代 div)、content 路径为空导致包体膨胀。
传统 CSS 主要能力与规范
- 文件组织:base(reset、typography、variables)、components、layouts、utilities 与 main.css 入口。
- 命名:推荐 BEM(block__element--modifier),或 SMACSS(base、layout、module、state、theme)。
- 属性顺序采用 Concentric CSS。
- 使用 :root CSS 自定义属性管理颜色、间距、字体、圆角、阴影,并支持 prefers-color-scheme 深色模式。
- 选择器保持低优先级,优先类选择器,避免 ID、过深嵌套与 !important(工具类除外)。
- 布局:Flexbox、CSS Grid(含命名区域)、容器查询。
- 响应式:移动优先媒体查询,常用断点 640px、1024px、1280px。
- 通过级联复用避免重复样式,并提供现代 CSS Reset。
使用方式 该技能以指导与规范形式提供,包含版本检测协议、决策流程、代码示例与推荐工具链配置(Prettier 插件、ESLint 插件),供在编写或审查样式时参照执行。
适用场景 组件样式开发与重构、项目样式架构设计、Tailwind 版本升级或迁移决策、样式代码评审、响应式与无障碍改造、样式性能优化。
限制 具体安装命令与配置片段以资料给出为准;未提供的收费、价格、平台支持等信息暂未提供。