コンテンツにスキップ

Tailwind CSS

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

Tailwind のインストール

Tailwind CSS パッケージをインストールし、init コマンドを実行して、tailwind.config.js ファイルと postcss.config.js ファイルを生成します。

ターミナル
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}', // Note the addition of the `app` directory.
    './pages/**/*.{js,ts,jsx,tsx,mdx}',
    './components/**/*.{js,ts,jsx,tsx,mdx}',
 
    // Or if using `src` directory:
    './src/**/*.{js,ts,jsx,tsx,mdx}',
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}
export default config

postcss.config.js を変更する必要はありません。

スタイルのインポート

Tailwind CSS ディレクティブ を追加します。これは、Tailwind が生成されたスタイルを、アプリケーション内の グローバルスタイルシート に挿入するために使用します。例えば

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

カスタムアプリケーションファイル (pages/_app.js) 内で、globals.css スタイルシートをインポートして、アプリケーション内のすべてのルートにスタイルを適用します。

pages/_app.tsx
// These styles apply to every route in the application
import '@/styles/globals.css'
import type { AppProps } from 'next/app'
 
export default function App({ Component, pageProps }: AppProps) {
  return <Component {...pageProps} />
}

クラスの使用

Tailwind CSS をインストールし、グローバルスタイルを追加した後、アプリケーション内で Tailwind のユーティリティクラスを使用できます。

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