Skip to content

参考:Tailwind CSS 速查与对照表

基于 Tailwind CSS 4.3(npm 实测 4.3.2)· 核于 2026-07

速查

  • 定位:工具类优先的 CSS 框架;不是组件库、不是预处理器。主线 v44.3.2,MIT),引擎 Oxide(Rust 热点 + 内建 Lightning CSS)。
  • 引入@import "tailwindcss";(取代 v3 三条 @tailwind)。配置走 CSS-first,默认无 tailwind.config.js
  • 令牌@theme 声明,既生成工具类、又暴露为 :root 上的 CSS 变量--color-*--spacing--breakpoint-* …)。
  • 变体hover/focus/active/disabledgroup-*/peer-*(含具名)、has-*not-*aria-*/data-*、结构性 first/odd/nth-*、伪元素 before/placeholder;可堆叠(与关系)。
  • 响应式:移动优先,sm640/md768/lg1024/xl1280/2xl1536;max-* 取「以下」;容器查询 @container/@sm(v4 内建)。
  • 任意值[...] 字面值、(...) 变量引用(v4)、任意属性 [prop:val]、任意变体 [&…]
  • 深色dark: 默认跟随系统;手动切换用 @custom-variant dark (&:where(.dark, .dark *));
  • 颜色:OKLCH,22 家族 + 黑白,11 档(50–950),透明度 /50color-mix())。
  • 迁移npx @tailwindcss/upgrade;浏览器 Safari 16.4+/Chrome 111+/Firefox 128+。

一、核心工具类分类速查

类别代表工具类
布局flex grid block hidden container columns-*
Flex/Griditems-center justify-between gap-4 grid-cols-3 col-span-2
间距p-4 px-6 m-2 mt-8 space-x-2(建议改 gap
尺寸w-full h-screen size-12 max-w-sm min-h-0
排版text-xl font-bold leading-tight tracking-wide text-center truncate
颜色bg-* text-* border-* ring-* fill-* from-*/via-*/to-*
边框border border-2 rounded-xl divide-y ring-2
效果shadow-md opacity-50 blur-sm grayscale mix-blend-*
变换scale-95 rotate-45 translate-x-2 rotate-x-*(3D,v4)
过渡/动画transition duration-300 ease-out animate-spin starting:(v4)

二、变体速查

分组变体说明
交互hover focus focus-visible focus-within active visitedhover v4 默认受 (hover: hover) 约束
表单disabled checked required valid/invalid placeholder-shown read-only配合原生校验
结构first last only odd even empty nth-3 nth-[3n+1]对应 :nth-child()
父联动group + group-hover/group-has-[…];具名 group/xin-*in-* 免 group
兄弟联动peer + peer-checked/peer-invalid;具名 peer/x仅作用于 peer 之后的兄弟
关系has-[:checked] has-[img] group-has-* peer-has-*对应 CSS :has()
取反not-hover not-supports-[…](v4 新增)对伪类/媒体/@supports 取反
属性aria-checked aria-[sort=asc] data-active data-[size=large]配合 Headless UI/Radix
响应式sm md lg xl 2xl max-* min-[600px]移动优先
容器查询@container @sm @lg @max-md @min-[475px] @sm/namev4 内建
深色dark(默认媒体,可改 class/data 策略)@custom-variant 重定义
伪元素before after placeholder selection file marker first-letterbefore/aftercontent-*
子/后代*(直接子) **(所有后代)选择面大,谨慎用

三、断点速查

前缀最小宽度前缀最小宽度
sm40rem / 640pxxl80rem / 1280px
md48rem / 768px2xl96rem / 1536px
lg64rem / 1024px自定义@theme { --breakpoint-3xl: 120rem; }
  • md: = 「≥768px 及以上」;max-md: = 「<768px」;md:max-lg: = 「768–1024px 区间」。
  • 一次性:min-[600px]: / max-[960px]:

四、@theme 命名空间速查

命名空间生成命名空间生成
--color-*bg-*/text-*--radius-*rounded-*
--font-*font-*(族)--shadow-*shadow-*
--text-*text-*(字号)--ease-*ease-*
--font-weight-*font-*(重)--animate-*animate-*
--spacing间距/尺寸基准--breakpoint-*sm:/md:
--tracking-*tracking-*--container-*@sm:/max-w-*
  • 扩展 = 直接加;覆盖 = 同名;清空命名空间 = --color-*: initial;清空全部 = --*: initial
  • 令牌互相引用用 @theme inline

五、指令速查

指令用途
@import引入 Tailwind / 其它 CSS@import "tailwindcss";
@theme声明设计令牌@theme { --color-brand: …; }
@utility自定义工具类(替代 v3 @layer utilities@utility tab-4 { tab-size: 4; }
@custom-variant自定义变体@custom-variant dark (&:where(.dark, .dark *));
@variant在 CSS 里套用某变体@variant dark { … }
@apply内联已有工具类(勿滥用)@apply rounded-lg shadow-md;
@reference组件 <style> 里引主题、不重复输出@reference "../app.css";
@source补充内容扫描路径@source "../node_modules/ui-lib";
@config加载遗留 JS 配置@config "../tailwind.config.js";
@plugin加载 JS 插件@plugin "@tailwindcss/typography";

六、函数速查

函数用途现状
--alpha(color / 50%)调颜色透明度v4 推荐
--spacing(4)生成间距(calc(var(--spacing) * 4)v4 推荐
theme(spacing.12)取主题值已弃用,改用 var(--spacing-12)

七、v3 → v4 变化速查表

类别v3v4
引入@tailwind base/components/utilities@import "tailwindcss";
配置tailwind.config.jsCSS-first @theme(默认无配置文件)
引擎PostCSS 插件 + JITOxide(Rust + Lightning CSS 内建)
阴影/模糊/圆角shadow-sm/shadowblurrounded各下移一档:shadow-xs/shadow-smblur-smrounded-sm
轮廓/环outline-nonering(3px)outline-hiddenring(1px,3px 用 ring-3)
默认色边框/环 gray-200/blue-500currentColor
important前置 !flex后置 flex!
变量任意值bg-[--var]bg-(--var)
自定义工具类@layer utilities@utility
容器查询@tailwindcss/container-queries 插件内建 @container/@sm
透明度bg-opacity-50bg-black/50color-mix()
PostCSS 包tailwindcss@tailwindcss/postcss
浏览器较宽Safari 16.4+/Chrome 111+/Firefox 128+

八、选型对比

维度Tailwind CSS原生 CSS / BEMUnoCSSBootstrap
路线工具类优先 + 设计令牌语义化类 + 手写规则即时按需的原子化引擎成品组件类
生成方式按用到的类生成 CSS全部手写按用到的类即时生成预置 CSS + JS 组件
定制@theme 令牌 + 任意值完全自由但需自建体系preset 高度可定制变量覆盖,粒度较粗
成品组件无(靠 shadcn/Headless 等)有(含 JS 交互)
何时选要一致设计系统 + 状态/响应式/深色开箱即用小页面/强定制/传统分层要极致可定制/性能,或从 Tailwind 迁移想快速拿到成品组件、可接受统一观感

选型速记:要「原子化 + 官方设计系统 + 生态成熟」→ Tailwind;要「原子化 + 引擎化 + 高度可定制」→ UnoCSS;只是几屏静态页且团队偏传统 → 原生 CSS;想直接用成品组件、不在意「Bootstrap 味」→ Bootstrap。

九、常见坑对照

现象根因解法
sm: 样式在手机上不生效误把 sm: 当「仅手机」,其实是「≥640px」无前缀当默认,大屏再用前缀覆盖
升级后边框颜色变了v4 默认边框色改 currentColor显式写 border-gray-200
peer-* 不生效目标元素排在 peer 前面把目标放到 peer 之后
组件 <style>@apply 报错scoped style 看不到主题顶部加 @reference "…"
bg-[--var] 不生效v4 变量引用改圆括号bg-(--var)
触屏上悬停态卡住v4 hover(hover: hover) 约束(预期行为)active:/focus: 或自定义变体
图标类未生成源文件在自动探测范围外@source "…"
theme() 提示遗留v4 弃用 theme()改用 var(--…)

十、权威链接