Tailwind CSS

Tailwind CSS est un framework CSS utility-first qui fonctionne exceptionnellement bien avec Next.js.

Installation de Tailwind

Installez les packages Tailwind CSS et exécutez la commande init pour générer les fichiers tailwind.config.js et postcss.config.js :

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

Configuration de Tailwind

Dans tailwind.config.js, ajoutez les chemins vers les fichiers qui utiliseront les classes Tailwind CSS :

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    './app/**/*.{js,ts,jsx,tsx,mdx}', // Notez l'ajout du répertoire `app`.
    './pages/**/*.{js,ts,jsx,tsx,mdx}',
    './components/**/*.{js,ts,jsx,tsx,mdx}',

    // Ou si vous utilisez le répertoire `src` :
    './src/**/*.{js,ts,jsx,tsx,mdx}',
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

Vous n'avez pas besoin de modifier postcss.config.js.

Importation des styles

Ajoutez les directives Tailwind CSS que Tailwind utilisera pour injecter ses styles générés dans une feuille de style globale de votre application, par exemple :

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

Dans le layout racine (app/layout.tsx), importez la feuille de style globals.css pour appliquer les styles à chaque route de votre application.

import type { Metadata } from 'next'

// Ces styles s'appliquent à chaque route de l'application
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>
  )
}
// Ces styles s'appliquent à chaque route de l'application
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>
  )
}

Utilisation des classes

Après avoir installé Tailwind CSS et ajouté les styles globaux, vous pouvez utiliser les classes utilitaires de Tailwind dans votre application.

export default function Page() {
  return <h1 className="text-3xl font-bold underline">Hello, Next.js!</h1>
}
export default function Page() {
  return <h1 className="text-3xl font-bold underline">Hello, Next.js!</h1>
}

Utilisation avec Turbopack

Depuis Next.js 13.1, Tailwind CSS et PostCSS sont pris en charge avec Turbopack.