TailwindCSS 是什么?和 Bootstrap 有什么区别?核心优势详解
TailwindCSS 是一个 utility-first 的 CSS 框架——不提供预制的组件(如 .btn、.card),而是提供原子化的 utility class(如 .bg-blue-500、.text-center、.p-4),让你在 HTML 里组合出任何设计。
和 Bootstrap 的区别
Bootstrap 给你现成组件:btn-primary、card、navbar。快速但长得都一样。
TailwindCSS 给你积木块:p-4、bg-blue-500、rounded-lg。慢一点但完全自定义。
选择标准:需要快速原型用 Bootstrap,需要自定义设计用 TailwindCSS。
核心优势
1. 不用起名字。写 CSS 最烦的是想 class 名——.header-wrapper、.card-inner-container?TailwindCSS 直接写 utility class,不用起名。
2. 不用切换文件。样式写在 HTML 里,不用在 HTML 和 CSS 文件之间跳来跳去。修改某个元素样式时,直接改那一行 class,不用去 CSS 文件里找对应选择器。
3. 产物小。JIT 模式只生成你用到的 class。一个页面只用 50 个 class,CSS 就只有几 KB。Bootstrap 整包 150KB+。
4. 响应式简单。不用写 @media 查询:
html<div class="text-sm md:text-base lg:text-lg"> 移动端小字,桌面端大字 </div>
sm/md/lg/xl/2xl 是预设断点,覆盖 99% 的响应式需求。
常见反对意见
"HTML 里一堆 class 太丑了":确实不如语义化 class 好看。但实用——不用起名、不用切换文件、不用怕样式冲突。团队习惯后效率反而更高。
"和 inline style 有什么区别":inline style 没有响应式(@media)、没有状态变体(hover:focus)、没有设计约束(只能用预定义值)。TailwindCSS 都有。
"难以复用":用 @apply 提取复用组合,或封装成组件(React/Vue 组件)。大多数情况下组件级复用比 CSS 级复用更好。
快速开始
bashnpm install -D tailwindcss postcss autoprefixer npx tailwindcss init -p
css/* app.css */ @tailwind base; @tailwind components; @tailwind utilities;
html<h1 class="text-3xl font-bold text-blue-600 hover:text-blue-800"> Hello TailwindCSS </h1>