Tailwind CSS v4.0 正式版终于来了

6,479 阅读5分钟

2025年1月22日,Tailwind CSS v4.0 正式版终于来了,可以看其 官方Blog 查看详细的更新内容。

主要新特性

  • 高性能引擎:完整构建速度提升高达 5x 倍,增量构建速度提升超过 100x 倍,耗时以微秒计算。
  • 为现代 Web 设计:基于最新 CSS 特性,如层叠层(cascade layers)、@property 注册的自定义属性和 color-mix()
  • 简化安装:依赖更少,无需配置,只需在 CSS 文件中添加一行代码。
  • 官方 Vite 插件:实现紧密集成,最大性能和最小配置。
  • 自动内容检测:自动发现所有模板文件,无需额外配置。
  • 内置导入支持:无需额外工具即可打包多个 CSS 文件。
  • 以 CSS 为核心的配置:开发者可直接在 CSS 中自定义和扩展框架,无需 JavaScript 配置文件。
  • CSS 主题变量:所有设计令牌(design tokens)均以原生 CSS 变量形式暴露,可随处访问。
  • 动态工具类值和变体:无需猜测间距比例或扩展配置,支持动态值和基础数据属性。
  • 现代化的 P3 色彩调色板:采用更生动的色彩调色板,充分发挥现代显示技术的优势。
  • 容器查询:支持基于容器大小的元素样式,无需插件。
  • 全新 3D 变换工具:直接在 HTML 中实现 3D 空间中的元素变换。
  • 扩展的渐变 API:支持径向渐变、锥形渐变、插值模式等功能。
  • @starting-style 支持:通过新的变体创建进入和退出过渡,无需 JavaScript。
  • not-* 变体:为不匹配其他变体、自定义选择器或媒体查询的元素添加样式。
  • 更多新工具类和变体:包括 color-scheme、字段大小、复杂阴影、inert 等支持。

Tailwind 此次更新是框架历史上最重大的重构,核心围绕 性能、现代 CSS 支持、开发者体验 三大方向展开。以下是主要更新内容的详细整理:


一、全新高性能引擎

1. 速度飞跃

  • 完整构建速度提升 5.x 倍(如 Catalyst 项目从 378ms 降至 100ms),增量构建速度提升 100x 倍(无新增 CSS 时仅需 192µs)。

  • Rust 与 Lightning CSS 集成:关键路径(如 CSS 解析、类名匹配)采用 Rust 优化,Lightning CSS 处理嵌套、前缀等任务,减少对 PostCSS 和 Autoprefixer 的依赖。

  • 基于分层设计的增量构建:在 CSS 构建过程中,Tailwind v4.0 会跟踪依赖关系并缓存结果,无需重新构建整个样式表,只需为新的类或变体生成增量更新即可。

2. 统一工具链

  • 内置 @import 解析、嵌套支持、CSS 语法转换(如 oklch() 颜色兼容性处理),无需额外配置插件。

  • 集成 Vite 插件,性能优于传统 PostCSS 模式。


二、CSS 优先的配置方式

1. 弃用 JavaScript 配置文件

  • 所有设计令牌(如颜色、字体、断点)通过 CSS 变量和 @theme 指令定义,直接在 CSS 文件中配置。

    @import "tailwindcss";
    
    @theme {
      --font-display: "Satoshi", sans-serif;
      --color-primary: oklch(71.7% 0.25 360);
      --breakpoint-3xl: 1920px;
    }
    
  • 支持通过 --spacing 变量动态生成间距工具类(如 mt-21)。

2. 原生 CSS 变量支持

  • 所有主题值自动暴露为 CSS 变量(如 var(--color-primary)),可直接用于内联样式或第三方动画库(如 Framer Motion)。

三、现代 CSS 特性深度整合

1. 容器查询原生支持

  • 容器查询 Container queries 支持,可以基于父容器的尺寸调整子元素的样式:

    @container (min-width: 640px) {
      .card {
        font-size: 1.25rem;
      }
    }
    
  • 新增 @min-* 和 @max-* 变体,简化响应式逻辑:

    <div class="@container">
      <div class="grid grid-cols-3 @max-md:grid-cols-1"></div>
    </div>
    

2. 广色域颜色与渐变增强

  • 默认调色板改用 oklch() 函数,支持更广色域且保持与旧版视觉一致性。

  • 新增 圆锥渐变(bg-conic-*线性渐变角度控制(bg-linear-45 ,支持 color-mix() 插值模式。

3. 3D 变换与动画

  • 新增 rotate-x-*translate-z-* 等 3D 工具类,支持 perspective-* 和 backface-visible 控制透视效果。

  • 支持径向和锥形渐变:

    .bg-gradient-to-br {
      background: conic-gradient(from 45deg, #f00, #00f);
    }
    
  • @starting-style 支持:元素首次渲染时的动画过渡:

    @starting-style {
      .fade-in {
        opacity: 0;
      }
    }
    

4. 其他现代特性

  • not-* 变体:基于 :not() 伪类或媒体查询否定条件应用样式。

  • 更丰富的表单样式:支持 field-sizinginert 属性,提升表单的可用性。


四、开发者体验优化

1. 零配置内容检测

  • 自动扫描项目模板文件,通过 .gitignore 排除非必要文件。需扩展时可使用 @source 指令手动添加。

2. 动态工具类生成

  • 工具类如 grid-cols-73z-40 不再依赖主题配置,支持任意数值。

  • 数据属性变体(如 data-[state=active]:bg-blue-500)无需预定义。

3. 简化安装与依赖

  • 仅需 npm install tailwindcss,通过单行 @import "tailwindcss" 即可启用框架。

4、向后兼容与迁移支持

  • 运行 npx @tailwindcss/upgrade@next 可自动处理 95% 的配置迁移与模板调整。

总结

Tailwind CSS v4.0 通过高性能引擎、CSS 原生配置、现代特性支持及开发者体验优化,显著提升了开发效率。尽管部分功能尚处过渡阶段,但其设计理念已明确指向更简洁、更未来的 CSS 开发范式。

开发者可通过 官方迁移指南 或直接在新项目中体验其革新特性。