Menu

Tailwind CSS

Tailwind CSS 是一个实用优先的 CSS 框架,它与 Next.js 配合使用效果极佳。

安装 Tailwind

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

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

配置 Tailwind

在 Tailwind 配置文件中,添加将使用 Tailwind 类名的文件路径:

tailwind.config.ts
import type { Config } from "tailwindcss";
 
const config: Config = {
  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: [],
};
export default config;
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 用于注入其生成样式的 Tailwind CSS 指令 添加到应用程序中的全局样式表中,例如:

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>
  );
}
app/layout.js
// 这些样式适用于应用程序中的每个路由
import "./globals.css";
 
export const metadata = {
  title: "Create Next App",
  description: "Generated by create next app",
};
 
export default function RootLayout({ children }) {
  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>;
}
app/page.js
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。