我真的很喜欢 Tailwind,不好意思我不装了

0 阅读3分钟

我在一个 3 万行 CSS 的项目里,彻底理解了 Tailwind 的价值

那是我做过最痛苦的一个前端项目。

项目不复杂,但有一个特点:

CSS 有 3 万多行,而且没人敢动。


😵‍💫 那种感觉,你可能也经历过

改一个按钮颜色,你需要:

  1. 全局搜索 class 名
  2. 打开 5 个文件
  3. 找到一堆这样的代码:
.container .header .title span {
  color: red !important;
}

你不知道:

  • 谁写的
  • 为什么这么写
  • 会不会影响别的页面

你唯一知道的是:

👉 “这地方不能乱动”


💥 问题不在 CSS 写得差,而在它的“模型”

后来我才意识到:

这不是代码风格问题,而是CSS 本身的设计问题

CSS 有三个“工程级缺陷”:

1️⃣ 全局作用域

.button { color: red; }

👉 任何地方都可能被影响


2️⃣ 隐式依赖

.container .header span { ... }

👉 依赖 DOM 结构,一改就炸


3️⃣ 优先级失控

.title { color: blue; }
.page .title { color: red; }
.title { color: green !important; }

👉 最后没人知道谁生效


🧠 那一刻我才理解:Tailwind 解决的不是“写法”,而是“失控”

很多人看 Tailwind,只看到这一层:

<button class="px-4 py-2 bg-blue-500 text-white">

觉得:

  • HTML 变乱了 ❌
  • class 太多 ❌

但如果你经历过刚才那种项目,你会发现:

👉 Tailwind 把“不可见的复杂度”,变成了“可见的复杂度”


⚙️ 它做了一件很“反直觉”的事

传统 CSS 是这样:

先抽象 → 再复用

.btn-primary { ... }

Tailwind 反过来:

先拆碎 → 再组合

class="px-4 py-2 bg-blue-500 text-white"

这背后其实是两种完全不同的思路:

模型思想
传统 CSS抽象驱动
Tailwind组合驱动

🔒 为什么“限制更多”,反而更好?

Tailwind 很“霸道”:

  • 只能用它的 spacing
  • 只能用它的颜色
  • 不鼓励你写自定义 CSS

一开始我也觉得:

👉 “这也太不自由了吧?”

但在团队里,这反而变成优势:

👉 限制越多,系统越稳定

因为你不会再看到:

  • 每个人一套写法
  • 每个页面一套风格
  • 每次改动都有副作用

📦 一个被忽略的点:它其实是 Design System 的实现方式

很多人没意识到:

theme: {
  spacing: {...},
  colors: {...}
}

这本质就是:

👉 设计 Token

Tailwind 干的事是:

  • 把设计规范 → 变成代码约束
  • 把 UI 规则 → 变成可组合原子

所以它特别适合:

👉 企业级项目 / 中后台系统


⚖️ 但它不是没有代价

说实话,用 Tailwind 你一定会遇到:

❌ HTML 可读性下降

<div class="flex items-center justify-between p-4 bg-white shadow">

❌ 语义消失

<div class="card">

vs

<div class="p-4 shadow bg-white">

但这其实是一个选择问题:

👉 你要“语义”,还是要“可控性”?


🧨 最后我自己的结论

做完那个 3 万行 CSS 的项目后,我对 Tailwind 的看法完全变了:

它不是更优雅的写法,
而是一种更稳定的工程策略。

它没有让 CSS 更简单,

但它让:

  • 问题更少
  • 维护更容易
  • 团队更统一

🚀 一句话总结

Tailwind 的价值,不在于“写得爽”,而在于“不会出事”。


🎯 留个问题

如果你接手一个:

  • 2 万行 CSS
  • 无文档
  • 多人维护

的项目,你会选:

  • A:继续优化 CSS
  • B:引入 Tailwind 重构

我现在的答案是:B。