Tailwind CSS

Tailwind CSS هو إطار عمل CSS يعتمد على الأدوات (utility-first) ويعمل بشكل استثنائي مع Next.js.

تثبيت Tailwind

قم بتثبيت حزم Tailwind CSS وشغل الأمر init لإنشاء ملفات tailwind.config.js و postcss.config.js:

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

تكوين Tailwind

بداخل ملف tailwind.config.js، أضف مسارات الملفات التي ستستخدم أسماء فئات Tailwind CSS:

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 CSS التي سيستخدمها Tailwind لحقن الأنماط المُنشأة إلى صفحة الأنماط العامة في تطبيقك، على سبيل المثال:

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

بداخل تخطيط الجذر (app/layout.tsx)، قم باستيراد صفحة الأنماط globals.css لتطبيق الأنماط على كل مسار في تطبيقك.

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>
  )
}
// هذه الأنماط تطبق على كل مسار في التطبيق
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 المساعدة في تطبيقك.

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>
}

الاستخدام مع Turbopack

بدءًا من Next.js 13.1، أصبح Tailwind CSS و PostCSS مدعومين مع Turbopack.