Tailwind 的安装方式有好几种,选哪种取决于你的项目类型。
| 方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| CDN | 快速体验、简单项目 | 零配置,开箱即用 | 文件大,无法定制 |
| npm + PostCSS | 生产项目 | 完整功能,可定制 | 配置稍复杂 |
| Vite/Webpack | 现代前端项目 | 集成方便,热更新 | 需要构建工具 |
| Play CDN | 学习、原型 | 即时预览 | 不适合生产 |
最快的方式,适合快速体验。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tailwind CSS Demo</title>
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
<div class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-md">
<h1 class="text-xl font-medium text-black">Hello Tailwind!</h1>
</div>
</body>
</html>
注意:CDN 方式无法按需生成,文件体积较大(约 3MB),不适合生产环境。
适合大多数项目,支持完整功能和定制。
mkdir my-project
cd my-project
npm init -y
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
这会创建两个文件:
tailwind.config.js - Tailwind 配置文件postcss.config.js - PostCSS 配置文件编辑 tailwind.config.js:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./src/**/*.{html,js}",
"./index.html"
],
theme: {
extend: {},
},
plugins: [],
}
content 数组告诉 Tailwind 去哪些文件里扫描类名。
创建 src/input.css:
@tailwind base;
@tailwind components;
@tailwind utilities;
npx tailwindcss -i ./src/input.css -o ./dist/output.css --watch
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./dist/output.css" rel="stylesheet">
<title>My Tailwind Project</title>
</head>
<body>
<h1 class="text-3xl font-bold text-blue-600">Hello Tailwind!</h1>
</body>
</html>
Vite 是现代前端构建工具,和 Tailwind 配合很好。
npm create vite@latest my-project -- --template vanilla
cd my-project
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
export default {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx,vue}",
],
theme: {
extend: {},
},
plugins: [],
}
创建 src/style.css:
@tailwind base;
@tailwind components;
@tailwind utilities;
import './style.css'
npm run dev
npx create-react-app my-project
cd my-project
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
配置 tailwind.config.js:
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}
在 src/index.css 添加:
@tailwind base;
@tailwind components;
@tailwind utilities;
npx create-next-app@latest my-project --typescript --tailwind
Next.js 13+ 内置 Tailwind 支持,创建项目时选择即可。
npm create vite@latest my-project -- --template vue
cd my-project
npm install
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
配置 tailwind.config.js:
export default {
content: [
"./index.html",
"./src/**/*.{vue,js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}
module.exports = {
// 扫描哪些文件的类名
content: ['./src/**/*.html'],
// 主题配置
theme: {
extend: {
// 扩展默认主题
colors: {
'brand': '#3b82f6',
}
},
},
// 插件
plugins: [],
// 模式:class 或 media
darkMode: 'media',
}
自定义颜色:
theme: {
extend: {
colors: {
primary: {
50: '#eff6ff',
500: '#3b82f6',
900: '#1e3a8a',
}
}
}
}
自定义字体:
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'sans-serif'],
mono: ['Fira Code', 'monospace'],
}
}
}
自定义间距:
theme: {
extend: {
spacing: {
'128': '32rem',
'144': '36rem',
}
}
}
安装 Tailwind CSS IntelliSense 插件,提供:
{
"tailwindCSS.includeLanguages": {
"html": "html",
"javascript": "javascript",
"typescript": "typescript"
},
"editor.quickSuggestions": {
"strings": true
}
}
检查 content 配置是否包含你的文件路径:
content: [
"./src/**/*.{html,js,jsx,ts,tsx,vue}",
"./pages/**/*.html",
]
确保 Tailwind 的 CSS 在其他样式之后引入,或使用 !important:
<div class="!text-red-500">强制红色</div>
npx tailwindcss -o build.css --minify