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クラス名を使用するファイルへのパスを追加します:
- TypeScript
- JavaScript
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;
Root レイアウト(app/layout.tsx
)内で、globals.css
スタイルシートをインポートして、アプリケーション内のすべてのルートにスタイルを適用します。
- TypeScript
- JavaScript
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のユーティリティクラスを使用できます。
- TypeScript
- JavaScript
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が導入されました。