Tailwind 4.0 即将发布,看起来很不错!

开发 前端
Tailwind CSS 4 是一个强大且多功能的工具,适用于希望简化工作流程和创建美观、响应式网站的 Web 开发人员。凭借其增强的性能、扩展的调色板、改进的定制、新的实用工具类以及对无障碍性的关注,Tailwind CSS 4 将成为开发人员工具包中的必备工具。

Tailwind 4.0 将会更快更好。

尝试当前处于 Alpha 状态的新功能

安装 Tailwind 版本 4 的包:

$ npm install tailwindcss@next @tailwindcss/vite@next

Vite 配置:

import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [tailwindcss()],
});

最后,在你的主 CSS 文件(app.css)中导入 Tailwind

@import "tailwindcss";

那么,现在让我们关注一下 Tailwind 版本 4 中的新功能:

零配置内容检测

在以前的版本中,我们需要创建 tailwind.config.js 并在全局 CSS 文件中添加三个指令:

@tailwind base;
@tailwind components;
@tailwind utilities;

现在,只需要一个指令,而且我们将使用带有特殊指令 @theme 的 CSS 变量来代替配置文件,如下所示:

@import "tailwindcss";

@theme {
  --font-family-display: "Satoshi", "sans-serif";
  --breakpoint-4xl: 1920px;
  --color-neon-pink: oklch(71.7% 0.25 360);
  --color-neon-lime: oklch(91.5% 0.258 129);
  --color-neon-cyan: oklch(91.3% 0.139 195.8);
}

特殊的 @theme 指令告诉 Tailwind 根据这些变量提供新的实用程序和变体,让你可以在标记中使用类似 4xl:text-neon-lime 的类:

<div class="max-w-lg 4xl:max-w-xl">
  <h1 class="font-display text-4xl">
    Data to <span class="text-neon-cyan">enrich</span> your online business
  </h1>
</div>

添加新的 CSS 变量的行为类似于早期版本框架中的 extend,但你可以使用 --color-*: initial 清除命名空间,然后定义所有自定义值:

main.css:

@theme {
  --color-*: initial;
  --color-gray-50: #f8fafc;
  --color-gray-100: #f1f5f9;
  --color-gray-200: #e2e8f0;
  --color-green-800: #3f6212;
  --color-green-900: #365314;
  --color-green-950: #1a2e05;
}

如果你不想明确清除默认主题并且更愿意从头开始,你可以直接导入 tailwindcss/preflight 和 tailwindcss/utilities 来跳过导入默认主题:

main.css:

@import "tailwindcss";
@import "tailwindcss/preflight" layer(base);
@import "tailwindcss/utilities" layer(utilities);

@theme {
  --color-*: initial;
  --color-gray-50: #f8fafc;
  --color-gray-100: #f1f5f9;
  --color-gray-200: #e2e8f0;
  /* ... */
  --color-green-800: #3f6212;
  --color-green-900: #365314;
  --color-green-950: #1a2e05;
}

通过这种方式,你可以更灵活地定制 Tailwind 的主题和实用程序,使其更适应你的项目需求。

组合变体

新的架构使得可以组合作用于其他选择器的变体,例如 group-*、peer-、has- 和新的 not-*。

在早期版本中,像 group-has-* 这样的变体在框架中被显式定义,但现在 group-* 可以与现有的 has-* 变体组合,并且可以与其他变体(如 focus)组合:

index.html:

<div class="group">
  <div class="group-has-[&:focus]:opacity-100">
  <div class="group-has-focus:opacity-100">
  </div>
</div>

通过这种方式,你可以创建更灵活、更强大的样式组合,从而更好地适应复杂的设计需求。例如,当一个元素获得焦点时,使其父元素的透明度变为 100%。

这个新功能大大增强了 Tailwind CSS 的可组合性和灵活性,使开发者能够更加精细地控制样式和交互行为。

变更内容

  • PostCSS 插件和 CLI 是独立的包:主要的 tailwindcss 包不再包含这些内容,因为不是每个人都需要它们。相反,它们应该分别安装,使用 @tailwindcss/postcss 和 @tailwindcss/cli。
  • 无默认边框颜色:边框实用工具以前默认使用 gray-200,但现在默认使用 currentColor,与浏览器一致。我们做出这个更改是为了避免在使用 zinc 或 slate 等灰色作为主要颜色时,意外引入错误的灰色。
  • 环默认是 1px:环实用工具以前默认是 3px 蓝色环,现在默认是使用 currentColor 的 1px 环。我们发现自己在项目中使用 ring-* 实用工具作为边框的替代,并使用 outline-* 作为焦点环,因此我们认为在这里保持一致是一个有帮助的更改。

v4.0 的路线图

  • 显式内容路径配置:当自动内容检测对你的设置不够好时,可以告诉 Tailwind 你的模板确切在哪里。
  • 支持其他暗模式:目前我们只支持使用媒体查询的暗模式,仍需要重新实现选择器和变体策略。
  • 前缀支持:目前还没有办法为你的类配置前缀,但我们一定会恢复它。
  • 白名单和黑名单:目前无法强制 Tailwind 生成某些类或阻止它生成其他类。
  • 重要配置支持:目前还没有办法使所有实用工具生成 !important,但我们计划实现它。
  • theme() 函数支持:新项目不需要这个,因为你现在可以使用 var(),但我们会为了向后兼容而实现它。
  • 独立的 CLI:我们还没有为新引擎开发独立的 CLI,但在 v4.0 发布之前肯定会有。

结论

Tailwind CSS 4 是一个强大且多功能的工具,适用于希望简化工作流程和创建美观、响应式网站的 Web 开发人员。凭借其增强的性能、扩展的调色板、改进的定制、新的实用工具类以及对无障碍性的关注,Tailwind CSS 4 将成为开发人员工具包中的必备工具。无论你是在构建小型项目还是大型应用程序,Tailwind CSS 4 都提供了实现你的 Web 设计所需的功能和灵活性。

责任编辑:姜华 来源: 大迁世界
相关推荐

2018-10-15 16:23:24

Android 源码开源

2012-05-22 14:16:26

Linux运维

2013-12-30 10:06:51

智能硬件3D打印互联网化

2016-08-01 11:33:40

云迁移云安全合规性

2022-02-28 12:57:09

GNOMEPlasma桌面

2022-02-21 12:05:49

LibreOffiLinux工具栏

2022-03-30 14:23:48

LibreOfficOffice开源

2021-02-02 13:23:47

Python语言线程

2024-09-13 16:19:47

2023-08-29 08:01:39

2014-11-07 10:26:05

2012-04-11 09:44:42

谷歌Chrome OS

2021-08-27 07:47:06

gecode

2013-12-15 11:03:59

Windows 9概念图

2018-09-29 08:44:24

开源分布式系统

2021-12-19 22:48:53

JavaScript开发代码

2023-07-11 15:43:16

JavaScript技巧

2021-10-02 10:36:00

YAML编程语言软件开发

2012-02-14 14:15:10

傲发传真机

2024-05-07 09:04:27

Tailwind前端开发Rust
点赞
收藏

51CTO技术栈公众号