SuperAPI AI 工具集

styling-system

前端与建站

查看项目

更新于 10-16 10:18

技能介绍

用途

样式系统(Styling System)用于在前端项目中选择和实现样式方案,涵盖从方案对比、设计 Token 建立到具体编码落地的完整过程。

覆盖的样式方案

  • Tailwind CSS(原子化)
  • UnoCSS(原子化)
  • CSS Modules(局部作用域)
  • styled-components / Emotion(CSS-in-JS)
  • vanilla-extract(编译时 CSS-in-JS)
  • Linaria(编译时)
  • Sass / Less(预处理)

技能以表格形式对比各方案的包大小、类型安全、主题切换能力与适用场景。

推荐组合:

  • React 新项目:Tailwind CSS + shadcn/ui + Radix UI,暗黑模式与主题切换依靠 CSS 变量
  • Vue 3 新项目:UnoCSS / Tailwind + Element Plus / Naive UI
  • 设计系统强:vanilla-extract + 自有 Token + Headless UI
  • 老项目兼容:CSS Modules + Sass
  • 需避免:Tailwind 与 styled-components 混用、大量 inline style、全局 CSS 不限作用域

核心原则

  1. 设计 Token 优先:颜色 / 间距 / 字体 / 圆角全用变量
  2. 一种样式方案:不要 Tailwind + CSS-in-JS 混用
  3. 局部作用域:避免全局污染
  4. 响应式 mobile-first:小屏先写,大屏覆盖
  5. 暗黑模式从一开始考虑:用 CSS 变量切换
  6. 不写魔术值:不用 padding: 17px,而用 padding: var(--space-4)
  7. 性能感知:关注 CSS-in-JS 运行时开销、Tailwind + PurgeCSS 包大小、vanilla-extract 编译时特性;动画用 transform / opacity 而非 layout 属性

设计 Token 体系

技能给出 tokens.css 示例,定义语义化颜色(primary、secondary、success、warning、danger、muted、foreground、background、border)、间距(space-1 到 space-12)、字体(font-sans、font-mono、多级 font-size)、圆角(radius-sm 到 radius-full)、阴影、动画时长与缓动、布局(container-max、header-height、sidebar-width、z-index 层级)等变量,并提供暗黑模式的变量覆盖写法。

Tailwind CSS 实战

包含 tailwind.config.js 配置示例,用 CSS 变量对接 Token、配置字体与圆角,并引入 @tailwindcss/forms、@tailwindcss/typography、tailwindcss-animate 等插件。还展示 class-variance-authority(cva)模式定义按钮变体(variant 与 size)及组件封装写法。

其他方案示例

  • CSS Modules:以 Button.module.css 与 Button.tsx 展示局部作用域与组合类名
  • vanilla-extract:以 button.css.ts 展示 styleVariants 与主题变量引用

暗黑模式实现

  • 方案 A:CSS 变量 + class 切换(推荐),含 useTheme hook 示例,持久化到 localStorage 并读取系统偏好
  • 方案 B:Next.js 使用 next-themes 的 ThemeProvider

响应式策略

Mobile-First 断点:默认(手机)、sm ≥ 640px、md ≥ 768px、lg ≥ 1024px、xl ≥ 1280px、2xl ≥ 1536px,并给出 Tailwind 与原生 CSS 两种写法。

工作流程

  1. 选样式方案(基于团队 + 项目)
  2. 建立设计 Token(与 UI/UX 同步)
  3. 配置框架(Tailwind / Postcss)
  4. 暗黑模式从一开始
  5. 实现组件样式(用 Token 不写魔术值)
  6. 响应式(mobile-first)
  7. 性能验证(PurgeCSS / Tree-shake、包大小)

质量自检

包括:一种样式方案、设计 Token 完整、不写魔术值、暗黑模式支持、响应式 mobile-first、焦点环可见(focus-visible)、颜色对比度 ≥ 4.5:1、动画用 transform / opacity、减少 reflow、PurgeCSS 启用、包大小(CSS < 50KB)、不全局污染、不混合方案等勾选项。

适用场景

新项目样式方案选型、设计 Token 体系建立、主题切换(亮 / 暗)、响应式实现、组件样式封装、CSS 性能优化。

限制与常见坑

技能列出常见问题:混合方案、写死颜色、不暗黑、CSS-in-JS 运行时开销、不 PurgeCSS、inline style 滥用、!important 滥用、z-index 魔术值、动画用 width / top、focus 不可见、响应式 desktop-first、CSS 变量不用 hsl、图标用 png、大字体未做 fallback 等。

关于收费、价格、平台、效果

技能资料中暂未提供收费、价格、平台或效果相关的事实说明。