mcpField
T
tailwind-patterns

tailwind-patterns

github.com/liuchiawei设计与 UI237 次安装36 周前更新
代码仓库

关于 tailwind-patterns

面向使用 Tailwind CSS v4 的前端开发者,汇总实用的样式、布局和性能模式。重点介绍 CSS 优先配置、容器查询、响应式设计及设计令牌。

主要功能

  1. 01使用 CSS 的 @theme 配置主题
  2. 02采用容器查询构建组件响应式布局
  3. 03按移动优先原则编写断点样式
  4. 04使用语义颜色令牌与 CSS 变量
  5. 05选择布局、排版和动画模式
  6. 06避免重复类名与动态类名

适用场景

  1. 01配置 Tailwind v4 主题令牌
  2. 02制作适应父容器的可复用组件
  3. 03构建移动优先的响应式页面
  4. 04整理重复样式并优化构建

安装

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

$npx skills add https://github.com/liuchiawei/agent-skills --skill tailwind-patterns

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

详细介绍

Tailwind CSS 模式 (v4 - 2025)

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


1. Tailwind v4 架构

相比 v3 的变化
v3 (旧版)v4 (当前)
tailwind.config.js基于 CSS 的 @theme 指令
PostCSS 插件Oxide 引擎 (快 10 倍)
JIT 模式原生,始终开启
插件系统CSS 原生特性
@apply 指令仍然可用,但不推荐
v4 核心概念
概念描述
CSS 优先配置在 CSS 中,而非 JavaScript
Oxide 引擎基于 Rust 的编译器,快得多
原生嵌套无需 PostCSS 的 CSS 嵌套
CSS 变量所有 token 以 --* 变量形式暴露

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;
}
何时扩展 vs 覆盖
操作使用时机
扩展在默认值之外添加新值
覆盖完全替换默认尺度
语义 token项目特定命名 (primary, surface)

3. 容器查询 (v4 原生)

断点 vs 容器
类型响应对象
断点 (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 布局,而非对称的 3 列网格。


7. 现代颜色系统

OKLCH vs RGB/HSL
格式优势
OKLCH感知均匀,更适合设计
HSL直观的色相/饱和度
RGB旧版兼容性
颜色 Token 架构
层级示例用途
原始--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静态、无需 JS
设计令牌可复用值

11. 反模式

不要要
到处使用任意值使用设计系统刻度
!important正确修复优先级
内联 style=使用工具类
重复的长类名列表提取组件
混用 v3 配置与 v4完全迁移到 CSS 优先
大量使用 @apply优先使用组件

12. 性能原则

原则实现
清除未使用v4 中自动完成
避免动态性不使用模板字符串类名
使用 Oxidev4 中默认,快 10 倍
缓存构建CI/CD 缓存

记住: Tailwind v4 是 CSS 优先的。拥抱 CSS 变量、容器查询和原生特性。配置文件现在是可选的。

评论

支持 Markdown