mcpField
T
tailwindcss-best-practices

tailwindcss-best-practices

github.com/biggora设计与 UI252 次安装今天更新
代码仓库

关于 tailwindcss-best-practices

tailwindcss-best-practices 是面向现有项目使用 Tailwind CSS v4 的参考技能,涵盖集成选择、CSS 优先规范、迁移注意事项和样式变更验证。

主要功能

  1. 01项目与集成检查指南
  2. 02CSS 优先的 v4 指令与主题
  3. 03工具类选择和类名检测指南
  4. 04v3 到 v4 的迁移说明
  5. 05构建、Lint 与界面验证步骤

适用场景

  1. 01在项目中接入 Tailwind CSS v4
  2. 02将样式从 Tailwind v3 迁移
  3. 03排查工具类检测和构建配置问题

安装

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

$npx skills add https://github.com/biggora/claude-plugins-registry --skill tailwindcss-best-practices

安装后在 Claude Code 中输入/tailwindcss-best-practices确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
best-practices-utility-patterns.md
core-installation.md
core-preflight.md
core-responsive.md
core-source-detection.md
core-theme.md
core-utility-classes.md
core-variants.md
effects-form-controls.md
effects-mask.md
effects-scroll-snap.md
effects-scrollbars.md
effects-text-shadow.md
effects-transition-animation.md
effects-visibility-interactivity.md
features-content-detection.md
features-custom-styles.md
features-dark-mode.md
features-functions-directives.md
features-upgrade.md
layout-aspect-ratio.md
layout-columns.md
layout-display.md
layout-flexbox.md
layout-grid.md
layout-height.md
layout-inset.md
layout-logical-properties.md
layout-margin.md
layout-min-max-sizing.md

详细介绍

Tailwind CSS v4 最佳实践

文档快照:Tailwind CSS v4.3.3,已于 2026-08-29 根据 npm latest 标签和官方文档核验。用户询问最新版本时,请重新检查 https://tailwindcss.com/docs 和 npm 标签。

Tailwind v4 以 CSS 为先:@theme 用于定义设计令牌,@utility 用于注册工具类,@custom-variant 用于注册变体。仍可通过 @config 使用旧版 JavaScript 配置,但系统不会自动检测它,而且部分 v3 选项不受支持。

工作方法

  1. 编辑前检查项目。 确认已安装的 tailwindcss 版本、包管理器、构建集成、主 CSS 入口、旧版配置或插件、源码根目录,以及现有设计令牌和组件。不要仅仅因为本文档介绍了较新版本,就升级项目。
  2. 选择与技术栈相匹配的集成方式。 如果框架提供官方指南,请优先采用。基于 Vite 的技术栈使用 @tailwindcss/vite,基于 PostCSS 的技术栈(例如 Next.js)使用 @tailwindcss/postcss,将 @tailwindcss/webpack 用作 webpack 加载器,或使用 @tailwindcss/cli 进行独立构建。更改构建配置前,请阅读安装指南。
  3. 选择满足需求的最精简样式机制。 优先使用现有工具类或组件;真正只用一次的情况使用任意值;重复使用某个设计值时添加 @theme 令牌;仅在需要可复用的 CSS 功能时添加 @utility;对于第三方样式覆盖或用 CSS 表达更清晰的规则,使用自定义 CSS。
  4. 确保候选类可静态检测。 将属性和状态映射到完整的类名字符串。不要拼接片段,例如 `bg-${color}-500`。有关 monorepo、外部包、排除项和安全列表,请阅读源码检测。
  5. 保留现有设计系统。 复用现有的间距、颜色、排版、圆角、组件和类合并约定。已有匹配的令牌时,避免引入任意值。
  6. 验证实际效果。 运行相关的构建、类型检查、Lint 和测试;如果检测结果存在疑问,请确认预期工具类已出现在编译后的 CSS 中;在适用时,检查渲染后的 UI 在响应式布局、状态、深色模式、焦点和减少动态效果方面的表现。

v4.3 新增内容

功能用途
滚动条使用 scrollbar-auto、scrollbar-thin、scrollbar-none、scrollbar-thumb-*、scrollbar-track-* 和 scrollbar-gutter-*;参见滚动条
容器尺寸当查询或容器单位需要块尺寸信息时,使用 @container-size 或 @container-size/{name};参见响应式设计
缩放使用 zoom-*、zoom-[value] 和 zoom-(--property) 设置 CSS zoom;参见变换
制表符宽度使用 tab-*、tab-[value] 和 tab-(--property) 设置渲染后的制表符宽度;参见排版
CSS 中的变体使用 @variant hover:focus 叠加变体,使用 @variant hover, focus 共享代码块
函数式工具类当不带参数的工具类需要回退值时,在 --value(...) 或 --modifier(...) 中使用 --default(...);参见函数和指令

v4 迁移中的关键注意事项

这是使用 Tailwind v4 时最常见的错误。如果你正在从 v3 迁移,或是首次使用 v4,请阅读升级指南——以下是最容易踩的坑:

v3(旧版)v4(正确写法)变更原因
!bg-red-500bg-red-500!Important 修饰符从前缀移到了后缀
bg-opacity-75bg-red-500/75不再使用不透明度修饰符;改用颜色上的斜杠语法
shadowshadow-sm阴影刻度下移一级
shadow-smshadow-xs阴影刻度下移一级
roundedrounded-sm边框圆角刻度下移一级
rounded-smrounded-xs边框圆角刻度下移一级
ringring-3默认环形宽度从 3px 改为 1px
outline-noneoutline-hidden重命名以提升清晰度
flex-shrink-0shrink-0现在仅保留更短的别名形式
flex-growgrow现在仅保留更短的别名形式
overflow-ellipsistext-ellipsis重命名以保持一致
blurblur-sm模糊刻度下移一级
@tailwind base/components/utilities@import "tailwindcss"单个 CSS 导入取代三条指令
自动检测 tailwind.config.jsCSS 优先指令,或使用显式的 @config 以保持兼容性不再自动检测 JS 配置
darkMode: 'class'@custom-variant dark (&:where(.dark, .dark *));深色模式配置移至 CSS
bg-[--var]bg-(--var)CSS 变量任意值使用圆括号
theme(screens.xl)theme(--breakpoint-xl)主题函数使用 CSS 变量名称
@layer utilities { }@utility name { }自定义工具类使用专用指令
start-* / end-*inset-s-* / inset-e-*在 v4.2 中弃用

核心参考

主题描述参考
安装Vite、PostCSS、Webpack、CLI 和 CDN 设置core-installation
工具类了解 Tailwind 的工具优先方法core-utility-classes
主题变量设计令牌、@theme 指令、主题变量命名空间core-theme
响应式设计移动优先断点、响应式变体、容器查询core-responsive
变体使用状态、伪类、媒体查询和指针变体进行条件样式设置core-variants
PreflightTailwind 的基础样式,以及如何扩展或禁用它们core-preflight
源码检测Tailwind 如何检测类、@source、@source not、@source inline()core-source-detection

布局

显示、Flexbox 与 Grid
主题描述参考
显示flex、grid、block、inline、hidden、sr-only、flow-root、contentslayout-display
Flexboxflex-direction、justify、items、gap、grow、shrink、wrap、orderlayout-flexbox
Gridgrid-cols、grid-rows、gap、place-items、col-span、row-span、subgridlayout-grid
宽高比控制元素宽高比以适配响应式媒体layout-aspect-ratio
分栏用于杂志风格或瀑布流布局的多栏布局layout-columns
定位
主题描述参考
位置使用 static、relative、absolute、fixed 和 sticky 控制元素定位layout-position
内偏移使用 inset、逻辑内偏移(inset-s-*、inset-bs-*)和已弃用的 start-*/end-* 设置定位元素的位置layout-inset
尺寸
主题描述参考
宽度使用间距刻度、分数、容器尺寸和视口单位设置元素宽度layout-width
高度使用间距刻度、分数和视口单位设置元素高度layout-height
最小和最大尺寸min-width、max-width、min-height、max-height 约束layout-min-max-sizing
逻辑尺寸适配书写模式的尺寸:inline-*、block-*、min-inline-*、max-block-*(v4.2)layout-logical-properties
间距
主题描述参考
外边距使用间距刻度、负值和逻辑属性(mbs-*、mbe-*)设置外边距layout-margin
内边距使用间距刻度和逻辑属性(pbs-*、pbe-*)设置内边距layout-padding
溢出
主题描述参考
溢出控制元素如何处理溢出的内容layout-overflow
图像和替换元素
主题描述参考
对象适配和位置控制图像和视频的缩放与定位方式layout-object-fit-position
表格
主题描述参考
表格布局border-collapse、table-auto、table-fixedlayout-tables

变换

主题描述参考
变换基础基础变换工具、硬件加速和自定义变换值transform-base
平移使用间距刻度和百分比沿 x、y、z 轴平移元素transform-translate
旋转在 2D 和 3D 空间中旋转元素transform-rotate
缩放均匀缩放元素或沿特定轴缩放transform-scale
倾斜沿 x 和 y 轴倾斜元素transform-skew

排版

主题描述参考
字体和文本字号、字重、颜色、行高、字母间距、装饰、截断、wrap-break-word、wrap-anywheretypography-font-text
文本对齐使用左对齐、居中、右对齐和两端对齐控制文本对齐方式typography-text-align
列表样式用于项目符号和标记的 list-style-type、list-style-positiontypography-list-style

视觉

主题描述参考
背景背景颜色、渐变、图像、大小、位置visual-background
边框边框宽度、颜色、圆角、分隔线、环形、块级边框工具类(border-bs-*、border-be-*)visual-border
效果盒子阴影、不透明度、混合模式、背景模糊、滤镜、彩色投影visual-effects
SVGSVG 和图标样式的填充、描边、描边宽度visual-svg
文本阴影文本阴影尺寸、颜色和不透明度修饰符(v4.1)effects-text-shadow
遮罩可组合的遮罩工具类,支持渐变和径向遮罩(v4.1)effects-mask
滚动条宽度、滑块/轨道颜色和稳定间隔工具类(v4.3)effects-scrollbars

效果与交互

主题描述参考
过渡与动画CSS 过渡、动画关键帧、减少动态效果effects-transition-animation
可见性与交互性可见性、光标、指针事件、用户选择、z-indexeffects-visibility-interactivity
表单控件accent-color、appearance、caret-color、resizeeffects-form-controls
滚动捕捉用于轮播的 scroll-snap-type、scroll-snap-aligneffects-scroll-snap

功能

深色模式
主题描述参考
深色模式使用 dark: 变体、@custom-variant、类和数据属性策略实现深色模式features-dark-mode
迁移
主题描述参考
升级指南从 v3 迁移到 v4、所有重命名/移除的工具类、比例变化、配置迁移features-upgrade
自定义
主题描述参考
自定义样式添加自定义样式、使用 @utility 定义工具类、使用 @custom-variant 定义变体、任意值features-custom-styles
函数与指令Tailwind 的 CSS 指令(@theme、@utility、@custom-variant、@source)和函数features-functions-directives
内容检测Tailwind 如何检测类、@source 配置、使用 @source inline() 将类加入安全列表features-content-detection

最佳实践

主题描述参考
工具类模式管理重复、冲突、important 修饰符、何时使用组件best-practices-utility-patterns

关键建议

  • 优先使用工具类和现有组件,而不是新建抽象层。
  • 使用 @theme 定义可复用的设计令牌;对于不应生成工具类的 CSS 变量,使用 :root。
  • 将无前缀的响应式工具类作为移动端基准,并将断点变体用作覆盖样式。
  • 在源代码中保留完整的候选字符串;将动态输入映射到静态类列表。
  • 使用 @custom-variant 定义变体,并使用 @variant 在 CSS 中应用现有变体。
  • 新的 v4 项目优先采用 CSS 优先配置;仅在兼容性需要时保留 @config 或 @plugin。
  • 为断点使用一致的单位;官方默认使用 rem,混用单位可能导致排序异常。
  • 不要在生产环境中使用 Play CDN,也不要在 Tailwind v4 前置添加 Sass/Less/Stylus。

评论

支持 Markdown