Menu

Tailwind CSS

Tailwind CSS は、Next.js と非常に相性の良いユーティリティファーストの CSS フレームワークです。

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
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 でサポートされています。