استایل‌دهی در Next.js – استفاده از Tailwind، CSS Modules، و مدیریت ترتیب فایل‌ها

Next.js روش‌های متنوعی برای استایل‌دهی ارائه می‌دهد، از جمله Tailwind CSS، CSS Modules، CSS سراسری، فایل‌های خارجی، Sass و CSS-in-JS. این مقاله نحوهٔ نصب و استفاده از هر روش، مدیریت ترتیب فایل‌های CSS، و تفاوت رفتار در حالت توسعه و تولید را بررسی می‌کند.

Tailwind CSSCSS ModulesGlobal CSScssChunking

~2 min read · Updated Oct 25, 2025

Tailwind CSS


Tailwind یک فریم‌ورک utility-first است که کلاس‌های سطح پایین برای طراحی سفارشی ارائه می‌دهد.


برای نصب:

pnpm add -D tailwindcss @tailwindcss/postcss

در فایل postcss.config.mjs:

export default {
  plugins: {
    '@tailwindcss/postcss': {},
  },
}

در فایل app/globals.css:

@import 'tailwindcss';

و در app/layout.tsx:

import './globals.css'

اکنون می‌توان کلاس‌های Tailwind را استفاده کرد:

<h1 className="text-4xl font-bold">Welcome to Next.js!</h1>

CSS Modules


CSS Modules کلاس‌ها را به‌صورت محلی scope می‌کند و از برخورد نام‌ها جلوگیری می‌کند.


فایل با پسوند .module.css ایجاد کنید:

// app/blog/blog.module.css
.blog {
  padding: 24px;
}

// app/blog/page.tsx
import styles from './blog.module.css'
<main className={styles.blog}></main>

Global CSS


برای اعمال استایل سراسری، فایل app/global.css ایجاد و در layout وارد کنید:

// app/global.css
body {
  padding: 20px 20px 60px;
  max-width: 680px;
  margin: 0 auto;
}

// app/layout.tsx
import './global.css'

توصیه: از Global CSS فقط برای استایل‌های پایه استفاده شود، و برای استایل‌های کامپوننتی از Tailwind یا CSS Modules استفاده شود.


External Stylesheets


می‌توان فایل‌های CSS خارجی مانند Bootstrap را وارد کرد:

import 'bootstrap/dist/css/bootstrap.css'

در React 19 می‌توان از <link rel="stylesheet" /> نیز استفاده کرد.


ترتیب و ادغام فایل‌های CSS


در حالت تولید، Next.js فایل‌های CSS را chunk و minify می‌کند. ترتیب فایل‌ها بر اساس ترتیب import در کد تعیین می‌شود:

// ترتیب import تعیین‌کنندهٔ ترتیب CSS است
import { BaseButton } from './base-button'
import styles from './page.module.css'

توصیه‌ها


  • استایل‌ها را در یک فایل ورودی متمرکز نگه دارید
  • استایل‌های سراسری و Tailwind را در layout اصلی وارد کنید
  • از Tailwind برای اکثر نیازهای طراحی استفاده کنید
  • از CSS Modules برای استایل‌های خاص کامپوننت استفاده کنید
  • نام‌گذاری یکنواخت برای فایل‌های CSS داشته باشید
  • استایل‌های مشترک را در کامپوننت‌های مشترک استخراج کنید
  • از auto-sort در ESLint برای importها اجتناب کنید

توسعه در مقابل تولید


  • در حالت توسعه (next dev): Fast Refresh فعال است
  • در حالت تولید (next build): CSS minify و code-split می‌شود
  • در تولید، CSS بدون جاوااسکریپت نیز بارگذاری می‌شود
  • ترتیب CSS در توسعه ممکن است متفاوت باشد؛ همیشه خروجی تولید را بررسی کنید

Written & researched by Dr. Shahin Siami

Related Articles

مسیریابی پیشرفته و هوک‌های عملکرد در Next.js — راهنمای توسعه‌دهنده برای App Router

Next.js مجموعه‌ای غنی از هوک‌های کلاینت و ابزارهای کش و ناوبری را در اختیار توسعه‌دهندگان قرار می‌دهد. از خواندن پارامترهای مسیر تا گزارش Web Vitals و مدیریت کش، این مقاله مهم‌ترین ابزارهای App Router را با مثال‌های کاربردی معرفی می‌کند.

Continue

مدیریت احراز هویت و کش در Next.js — راهنمای توسعه‌دهنده برای امنیت و عملکرد پویا

Next.js با معرفی قابلیت‌های آزمایشی جدید، امکان کنترل دقیق‌تر دسترسی و کش داده‌ها را فراهم کرده است. تابع unauthorized برای مدیریت خطای 401 و هدایت کاربران به صفحه ورود، unstable_cache برای کش هوشمند عملیات سنگین، updateTag برای بازسازی آنی داده‌ها، و useLinkStatus برای نمایش وضعیت ناوبری استفاده می‌شوند. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات مهم بررسی می‌کند.

Continue

redirect و refresh در Next.js — ریدایرکت‌های هوشمند و تازه‌سازی مسیر در Server Actions

تابع redirect در Next.js برای هدایت کاربر به مسیر جدید استفاده می‌شود و بسته به نوع استفاده، پاسخ HTTP با وضعیت 307 یا 303 ارسال می‌کند. این تابع در Server Components، Client Components، Route Handlers و Server Actions قابل استفاده است. تابع refresh نیز برای تازه‌سازی مسیر کلاینت از درون Server Action استفاده می‌شود. این مقاله نحوه استفاده از هر دو تابع را با مثال‌های کاربردی و نکات مهم توضیح می‌دهد.

Continue

Next.js با معرفی NextRequest و NextResponse، APIهای Request و Response مرورگر را گسترش داده و ابزارهای قدرتمندی برای مدیریت کوکی‌ها، هدرها، ریدایرکت‌ها، بازنویسی مسیرها و پاسخ‌های JSON فراهم کرده است. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات امنیتی توضیح می‌دهد.

Next.js با معرفی NextRequest و NextResponse، APIهای Request و Response مرورگر را گسترش داده و ابزارهای قدرتمندی برای مدیریت کوکی‌ها، هدرها، ریدایرکت‌ها، بازنویسی مسیرها و پاسخ‌های JSON فراهم کرده است. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات امنیتی توضیح می‌دهد.

Continue

headers، ImageResponse، notFound و permanentRedirect در Next.js — مدیریت درخواست‌ها، تولید تصویر، خطا و ریدایرکت

Next.js ابزارهای قدرتمندی برای مدیریت درخواست‌ها و پاسخ‌ها در کامپوننت‌های سروری فراهم کرده است. تابع headers برای خواندن هدرهای HTTP ورودی، ImageResponse برای تولید تصاویر داینامیک، notFound برای نمایش صفحه خطای 404، و permanentRedirect برای ریدایرکت دائمی کاربران استفاده می‌شوند. این مقاله نحوه استفاده از هر یک را با مثال‌های کاربردی توضیح می‌دهد.

Continue

راهنمای کامل استفاده از metadata و generateMetadata در Next.js

در نسخه‌های مدرن Next.js، مدیریت metadata صفحات بسیار قدرتمندتر و ساده‌تر شده است. metadata به‌صورت خودکار در تگ <head> صفحات تزریق می‌شود و نقش مهمی در SEO، اشتراک‌گذاری اجتماعی و تجربه کاربری دارد. این مقاله دو روش اصلی تعریف metadata را بررسی می‌کند: استفاده از آبجکت ثابت metadata و تابع داینامیک generateMetadata.

Continue