返回主页 学习路径
Tailwind CSS
原子化 · 可定制 · 响应式
Tailwind CSS 是由 Adam Wathan 于 2017 年创建的 CSS 框架,采用"实用工具优先"(Utility-First)的设计理念。与 Bootstrap 等传统框架不同,Tailwind 不提供预定义的 UI 组件,而是提供低级的原子化工具类,让开发者可以自由组合构建自定义设计。Tailwind 已成为前端开发中增长最快的 CSS 框架之一,被 Vercel、GitHub、Shopify 等众多公司采用。
实用工具优先的 CSS 框架
📅 诞生时间2017年 · Adam Wathan
🧩 类型原子化 CSS · 实用工具优先
📊 语言CSS / 配置文件
⚡性能
9/10
📦生态
9/10
🧠易用
9/10
🚀扩展性
8/10

📑 本文目录

📌 第一部分:Tailwind CSS 概览与定位

1.1 定义与全称

Tailwind CSS 是由 Adam Wathan 于 2017 年创建的 CSS 框架,采用 "实用工具优先"(Utility-First) 的设计理念。与 Bootstrap 等传统框架不同,Tailwind 提供低级的原子化工具类,让开发者自由组合构建自定义设计。

1.2 核心定位

Tailwind CSS 的核心定位是 原子化 CSS 框架。它提供了:

1.3 主要应用领域

1.4 知名案例


⚙️ 第二部分:核心概念

2.1 原子化工具类

<!-- 传统 CSS 方式 -->
<style>
    .card {
        padding: 1.5rem;
        background: white;
        border-radius: 0.5rem;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
</style>
<div class="card">内容</div>

<!-- Tailwind 方式(原子化) -->
<div class="p-6 bg-white rounded-lg shadow-md">内容</div>

<!-- 对比:一个类 vs 多个类 -->
/* Tailwind 的每个类只做一件事 */
p-6      -> padding: 1.5rem
bg-white -> background: white
rounded-lg -> border-radius: 0.5rem
shadow-md -> box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1)

2.2 常用工具类

<!-- 布局 -->
<div class="flex justify-between items-center">
    <span>左侧</span>
    <span>右侧</span>
</div>

<!-- 网格 -->
<div class="grid grid-cols-3 gap-4">
    <div>1</div>
    <div>2</div>
    <div>3</div>
</div>

<!-- 间距 -->
<div class="p-4 m-2 space-y-4">
    <div>上下间距 4</div>
    <div>同样间距</div>
</div>

<!-- 文字 -->
<p class="text-lg font-bold text-center text-gray-800">
    大号粗体居中灰色文字
</p>

<!-- 颜色 -->
<div class="bg-blue-500 text-white hover:bg-blue-700">
    蓝色背景
</div>

<!-- 边框 -->
<div class="border-2 border-red-500 rounded-full">
    红色边框圆角
</div>

<!-- 阴影 -->
<div class="shadow-lg hover:shadow-xl">阴影</div>

2.3 响应式设计

<!-- 响应式断点 -->
<!-- sm: 640px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px -->

<div class="text-sm md:text-base lg:text-lg">
    响应式字体大小
</div>

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
    响应式网格
</div>

<div class="hidden md:block">
    中屏以上显示
</div>

<div class="block md:hidden">
    中屏以下显示
</div>

<!-- 响应式间距 -->
<div class="p-2 md:p-4 lg:p-8">响应式内边距</div>

2.4 暗色模式

<!-- 暗色模式 -->
<div class="bg-white dark:bg-gray-800 text-black dark:text-white">
    

自动适配暗色模式

<button class="bg-blue-500 dark:bg-blue-700">按钮</button> </div> <!-- 自定义暗色模式 --> <div class="shadow dark:shadow-gray-700">暗色阴影</div> <!-- 启用暗色模式(在配置文件中) --> // tailwind.config.js module.exports = { darkMode: "class", // 或 "media" // ... }

2.5 自定义主题

// tailwind.config.js
module.exports = {
    content: ["./src/**/*.{html,js}"],
    theme: {
        extend: {
            colors: {
                brand: {
                    light: "#4f8cf7",
                    DEFAULT: "#2563eb",
                    dark: "#1d4ed8"
                }
            },
            fontFamily: {
                sans: ["Inter", "sans-serif"],
                mono: ["JetBrains Mono", "monospace"]
            },
            spacing: {
                "18": "4.5rem",
                "88": "22rem"
            },
            animation: {
                "spin-slow": "spin 3s linear infinite"
            },
            screens: {
                "xs": "480px",
                "3xl": "1792px"
            }
        }
    },
    plugins: []
}

2.6 组件和实用工具组合

// 使用 @apply 组合类
// styles.css
@tailwind base;
@tailwind components;
@tailwind utilities;

.btn-primary {
    @apply px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-700;
}

.card {
    @apply p-6 bg-white rounded-lg shadow-md;
}

// 在 HTML 中使用
<button class="btn-primary">按钮</button>
<div class="card">卡片内容</div>

// 或者使用组件库(如 DaisyUI)
// 安装 daisyui 作为插件

2.7 与 React 集成

// React + Tailwind CSS
const Button = ({ children, variant = "primary" }) => {
    const variants = {
        primary: "bg-blue-500 hover:bg-blue-700",
        secondary: "bg-gray-500 hover:bg-gray-700",
        danger: "bg-red-500 hover:bg-red-700"
    };

    return (
        <button
            className={`px-4 py-2 text-white rounded-lg transition-colors ${variants[variant]}`}
        >
            {children}
        </button>
    );
};

// 使用
const App = () => (
    <div className="p-8 max-w-4xl mx-auto">
        <h1 className="text-3xl font-bold text-center mb-8">
            欢迎使用 Tailwind CSS
        </h1>
        <div className="flex gap-4">
            <Button variant="primary">主要</Button>
            <Button variant="secondary">次要</Button>
            <Button variant="danger">危险</Button>
        </div>
    </div>
);

2.8 与 Vue 集成

<!-- Vue + Tailwind CSS -->
<template>
    <div class="p-8 max-w-4xl mx-auto">
        <h1 class="text-3xl font-bold text-center mb-8">
            Vue + Tailwind
        </h1>

        <div class="flex flex-col gap-4">
            <input
                v-model="name"
                class="border-2 border-gray-300 rounded-lg p-2 focus:border-blue-500 focus:outline-none"
                placeholder="输入姓名"
            />

            <button
                @click="handleClick"
                class="bg-blue-500 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors"
            >
                点击我
            </button>

            <p class="text-lg text-gray-700">
                你好, {{ name || "访客" }}!
            </p>
        </div>

        <!-- 条件渲染 -->
        <div v-if="show" class="mt-4 p-4 bg-green-100 border border-green-400 rounded-lg">
            这是条件渲染的内容
        </div>
    </div>
</template>

<script setup>
import { ref } from "vue";
const name = ref("");
const show = ref(true);

const handleClick = () => {
    show.value = !show.value;
};
</script>

⚖️ 第三部分:Tailwind CSS vs Bootstrap vs CSS-in-JS

对比项 Tailwind Bootstrap CSS-in-JS
设计理念原子化组件化组件级
学习曲线中等平缓中等
定制性极高中等
包体积极小(JIT)中等
设计一致性依赖团队
适用场景定制设计快速原型组件库

🧠 第四部分:学习建议

1
基础入门

Tailwind 安装、核心概念、常用工具类(布局/间距/文字/颜色)

2
核心进阶

响应式设计、暗色模式、自定义配置

3
高级特性

@apply 组合、插件开发、JIT 模式

4
实战应用

与 React/Vue/Svelte 集成、组件开发、生产优化

推荐学习资源


🎯 总结升华

Tailwind CSS 是样式开发的"乐高"。

它用 原子化工具类、JIT 编译、完全可定制 让 CSS 开发变得高效而一致。Tailwind 是现代前端开发的最佳样式方案之一。

"Tailwind 让 CSS 开发从复杂变得简单。" 🎨

🔖 相关标签
#CSS #框架 #原子化 #实用工具优先 #响应式 #暗色模式
📄 本文档为 Tailwind CSS 完整白皮书 · 最后更新于 2026年06月28日