mcpField
T
tailwind-patterns

tailwind-patterns

github.com/vudovn设计与 UI8.2k198 次安装9 周前更新
代码仓库

关于 tailwind-patterns

面向使用 Tailwind CSS v4 的开发者,整理 CSS 优先配置、响应式布局、主题和组件编写模式。内容侧重按场景选择做法,并涵盖常见反模式与性能原则。

主要功能

  1. 01CSS 优先的主题配置
  2. 02断点与容器查询布局
  3. 03暗色模式策略
  4. 04颜色与排版令牌
  5. 05组件抽取与反模式

适用场景

  1. 01为项目定义语义化设计令牌
  2. 02构建可复用的响应式组件
  3. 03规划暗色主题实现
  4. 04检查 Tailwind v4 样式与性能模式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vudovn/ag-kit --skill tailwind-patterns

安装后在 Claude Code 中输入/tailwind-patterns确认已加载。

详细介绍

Tailwind CSS 模式(v4)

采用 CSS 原生配置的现代实用优先 CSS。


1. Tailwind v4 架构

v3 的变化
v3(旧版)v4(当前)
tailwind.config.js基于 CSS 的 @theme 指令
PostCSS 插件Oxide 引擎(完整构建速度约提升 5 倍,增量构建速度提升 100 倍以上)
JIT 模式原生支持,始终启用
插件系统CSS 原生功能
@apply 指令仍然可用,但不建议使用
v4 核心概念
概念说明
CSS 优先使用 CSS 而非 JavaScript 配置
Oxide 引擎基于 Rust 的编译器,速度更快
原生嵌套无需 PostCSS 的 CSS 嵌套
CSS 变量所有令牌都以 --* 变量形式公开

2. 基于 CSS 的配置

主题定义
@theme {
  /* Colors - use semantic names */
  --color-primary: oklch(0.7 0.15 250);
  --color-surface: oklch(0.98 0 0);
  --color-surface-dark: oklch(0.15 0 0);
  
  /* Spacing scale */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 2rem;
  
  /* Typography */
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}
何时扩展,何时覆盖
操作适用场景
扩展在默认值基础上添加新值
覆盖完全替换默认刻度
语义令牌项目专用命名(primary、surface)

3. 容器查询(v4 原生支持)

断点与容器
类型响应对象
断点(md:)视口宽度
容器(@container)父元素宽度
容器查询用法
模式类
定义容器在父元素上使用 @container
容器断点在子元素上使用 @sm:、@md:、@lg:
命名容器使用 @container/card 指定范围
适用场景
场景使用方式
页面级布局视口断点
组件级响应式布局容器查询
可复用组件容器查询(不依赖上下文)

4. 响应式设计

断点系统
前缀最小宽度目标设备
(无)0px移动优先基础样式
sm:640px大屏手机 / 小尺寸平板
md:768px平板
lg:1024px笔记本电脑
xl:1280px桌面设备
2xl:1536px大屏桌面设备
移动优先原则
  1. 先编写移动端样式(不加前缀)
  2. 使用前缀添加更大屏幕的覆盖样式
  3. 示例:w-full md:w-1/2 lg:w-1/3

5. 深色模式

配置策略
方法行为适用场景
class通过 .dark 类切换手动主题切换器
media遵循系统偏好设置无需用户控制
selector自定义选择器(v4)复杂主题设置
深色模式模式
元素浅色深色
背景bg-whitedark:bg-zinc-900
文本text-zinc-900dark:text-zinc-100
边框border-zinc-200dark:border-zinc-700

6. 现代布局模式

Flexbox 模式
模式类
居中(双轴)flex items-center justify-center
垂直堆叠flex flex-col gap-4
水平排列flex gap-4
两端对齐flex justify-between items-center
换行网格flex flex-wrap gap-4
Grid 模式
模式类
自适应响应式grid grid-cols-[repeat(auto-fit,minmax(250px,1fr))]
非对称(Bento)grid grid-cols-3 grid-rows-2 配合跨行或跨列
侧边栏布局grid grid-cols-[auto_1fr]

注意: 优先使用非对称 / Bento 布局,而非对称的三列网格。


7. 现代颜色系统

OKLCH 与 RGB/HSL
格式优势
OKLCH感知均匀,更适合设计
HSL色相 / 饱和度直观易懂
RGB兼容旧版
颜色令牌架构
层级示例用途
基础--blue-500原始颜色值
语义--color-primary基于用途命名
组件--button-bg组件专用

8. 字体排版系统

字体栈模式
类型推荐
无衬线'Inter', 'SF Pro', system-ui, sans-serif
等宽'JetBrains Mono', 'Fira Code', monospace
展示'Outfit', 'Poppins', sans-serif
字号阶梯
类大小用途
text-xs0.75rem标签、说明文字
text-sm0.875rem次要文本
text-base1rem正文
text-lg1.125rem引导性文本
text-xl+1.25rem+标题

9. 动画与过渡

内置动画
类效果
animate-spin持续旋转
animate-ping提示脉冲
animate-pulse轻微的不透明度脉冲
animate-bounce弹跳效果
过渡模式
模式类
所有属性transition-all duration-200
特定属性transition-colors duration-150
带缓动ease-out 或 ease-in-out
悬停效果hover:scale-105 transition-transform

10. 提取组件

何时提取
信号操作
相同的类组合出现 3 次以上提取组件
复杂的状态变体提取组件
设计系统元素提取并编写文档
提取方法
方法适用情况
React/Vue 组件动态场景,需要 JS
CSS 中的 @apply谨慎使用——仅在没有组件层时使用
设计令牌可复用的值

11. 反模式

不要这样做应该这样做
到处使用任意值使用设计系统的尺度
使用 !important正确解决优先级问题
使用内联 style=使用工具类
重复使用冗长的类列表提取组件
混用 v3 配置和 v4完整迁移到 CSS 优先模式
大量使用 @apply优先使用组件

12. 性能原则

原则实现方式
清除未使用内容v4 中自动完成
避免动态性不使用模板字符串类
使用 Oxidev4 中默认启用(完整构建约快 5 倍,增量构建快逾 100 倍)
缓存构建CI/CD 缓存

请记住: Tailwind v4 以 CSS 为先。善用 CSS 变量、容器查询和原生功能。现在配置文件已变为可选项。

评论

支持 Markdown