Skip to main content

Tailwind CSS

Tailwind CSS 是一个与 Next.js 非常搭配的实用型 CSS 框架。

安装 Tailwind

安装 Tailwind CSS 包并运行 init 命令以生成 tailwind.config.jspostcss.config.js 文件:

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

配置 Tailwind

tailwind.config.js 中,添加要使用 Tailwind CSS 类名的文件路径:

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./app/**/*.{js,ts,jsx,tsx,mdx}', // 注意添加了 `app` 目录。
'./pages/**/*.{js,ts,jsx,tsx,mdx}',
'./components/**/*.{js,ts,jsx,tsx,mdx}',

// 或者如果使用 `src` 目录:
'./src/**/*.{js,ts,jsx,tsx,mdx}',
],
theme: {
extend: {},
},
plugins: [],
}

无需修改 postcss.config.js

导入样式

Tailwind CSS 指令 添加到全局样式表 中,以便 Tailwind 将其生成的样式注入到应用程序中,例如:

app/globals.css
@tailwind base;
@tailwind components;
@tailwind utilities;

根布局 (app/layout.tsx) 中,导入 globals.css 样式表以将样式应用于应用程序中的每个路由。

app/layout.tsx
import type { Metadata } from 'next'

// 这些样式适用于应用程序中的每个路由
import './globals.css'

export const metadata: Metadata = {
title: 'Create Next App',
description: 'Generated by create next app',
}

export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body>{children}</body>
</html>
)
}

使用类

在安装了 Tailwind CSS 并添加了全局样式之后,您可以在应用程序中使用 Tailwind 的实用类。

app/page.tsx
export default function Page() {
return <h1 className="text-3xl font-bold underline">Hello, Next.js!</h1>
}

与 Turbopack 一起使用

截至 Next.js 13.1,Turbopack 支持 Tailwind CSS 和 PostCSS。