Tailwind CSS
Tailwind CSS は、Next.js と非常に相性の良いユーティリティファーストの CSS フレームワークです。
Tailwind のインストール
Tailwind CSS パッケージをインストールし、init
コマンドを実行して tailwind.config.js
と postcss.config.js
ファイルを生成します:
Terminal
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
Tailwind の設定
Tailwind 設定ファイル内で、Tailwind のクラス名を使用するファイルのパスを追加します:
tailwind.config.ts
TypeScript
import type { Config } from 'tailwindcss'
export default {
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: [],
} satisfies Config
postcss.config.js
を変更する必要はありません。
スタイルのインポート
Tailwind が生成したスタイルを注入するために、Tailwind CSS ディレクティブをアプリケーションのグローバルスタイルシートに追加します:
app/globals.css
@tailwind base;
@tailwind components;
@tailwind utilities;
ルートレイアウト(app/layout.tsx
)内で、globals.css
スタイルシートをインポートしてアプリケーションのすべてのルートにスタイルを適用します。
app/layout.tsx
TypeScript
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
TypeScript
export default function Page() {
return <h1 className="text-3xl font-bold underline">Hello, Next.js!</h1>
}
Turbopack での使用
Next.js 13.1 の時点で、Tailwind CSS と PostCSS は Turbopack でサポートされています。