tailwind
· 阅读需 6 分钟
第一次接触
前段时间在YouTube看技术类视频发现大量博主在做涉及前端的样式技术选型是几乎是清一色的使用tailwindCSS,这让我不得不想要进一步去了解他
原子类
Tailwind[https://tailwindcss.com/] 的核心是原子化 CSS 类名(如 flex、mt-4、bg-blue-500),每个类名对应唯一、明确的样式规则,无歧义、无自定义命名成本。我想这是ai模型也推荐用它来写样式的原因
使用感受
需要全量记忆对应css属性值的对应类,当然可以根据28原则有限记忆常用的使用频率高的。不过能够预想到,当他成为一种习惯,那么写中小型项目可以极大的提高开发效率,就像五笔打字法速度最快一样(笑),不过有时候要写2行的类名,看起来会让html不清爽。
关于它的一些思考
Tailwind CSS 技术选型分析对比表
| 思考维度 | 选择 Tailwind 的优势 | 潜在风险 / 不适用场景 |
|---|---|---|
| 开发效率 | 1. 无需切换文件(HTML/CSS),样式写在类名中,开发速度提升 30%+; 2. 内置设计系统(间距、颜色、字体都符合 8px 网格规范),无需手动定义变量; 3. 样式复用靠类名组合,无需写重复 CSS。 | 1. 类名过长(如 flex items-center justify-between px-4 py-2 bg-blue-500 hover:bg-blue-600),HTML 可读性下降;2. 新手需记忆类名(如 mt-4=margin-top: 16px),有学习成本。 |
| 团队协作 | 1. 原子化类名统一了样式写法,避免 “一人一套命名规范”(如 .btn/.button/.primary-btn);2. 无需评审 CSS 命名 / 写法,只需关注 UI 还原度。 | 1. 团队若习惯传统 CSS 模块化(如 BEM 规范),切换成本高; 2. 多人协作时,类名组合可能不统一(如有人用 gap-4,有人用 mx-2 my-2)。 |
| 项目场景 | ✅ 适合: - 快速迭代的业务项目(如电商、后台管理系统); - 跨端项目(H5、小程序,Tailwind 适配性好); - 原型 / 演示项目(快速出效果)。 | ❌ 不适合: - 极定制化的设计(如品牌官网、创意视觉项目,Tailwind 内置样式无法满足极致定制); - 超大型老项目(迁移成本高,且易和原有 CSS 冲突)。 |
| 性能与打包 | 1. 生产环境可通过 PurgeCSS 剔除未使用的类名,最终 CSS 文件体积通常 < 10KB; 2. 无需担心 CSS 体积随项目增长而膨胀。 | 1. 开发环境 Tailwind 核心样式体积较大(~3MB),首次加载略慢; 2. 若未配置 PurgeCSS,生产环境体积会失控。 |
| 框架 / 工具适配 | 1. 完美兼容 React/Vue/Svelte 等主流框架; 2. 支持 PostCSS、Vite/Webpack 等工具链,可自定义主题(如修改颜色、间距)。 | 1. 小众框架 / 原生 JS 项目,配置 Tailwind 需额外成本; 2. 自定义主题过多时,会失去 Tailwind “标准化” 的优势。 |
技术选型
- 先看项目阶段: 早期快速验证 / 原型开发 → 选 Tailwind(快速出效果); 长期维护的核心项目 → 评估团队接受度,可先小范围试点(如一个页面)。
- 再看团队能力: 团队以前端为主,学习能力强 → 适合 Tailwind; 团队包含大量后端 / 全栈开发者(不熟悉 CSS) → 适合 Tailwind(降低样式编写门槛); 团队有严格的 CSS 模块化规范(如 BEM) → 谨慎选择(避免冲突)。
- 最后看定制化需求: 设计稿高度标准化(符合 Tailwind 内置设计系统) → 选 Tailwind; 设计稿有大量自定义样式(如特殊动画、非标准间距) → 可结合 Tailwind + 少量自定义 CSS(而非纯 Tailwind)。
最后
项目中选择 Tailwind,核心是权衡「开发效率」和「维护成本」—— 对快速迭代、团队协作要求高的业务项目,Tailwind 是最优解;对极致定制化、老项目迁移场景,则需谨慎评估或混合使用。