يدعم Next.js فعليًا كل نهج CSS مع معالجة مدمجة — يمكنك اختيار ما يناسب المشروع.
CSS عام
// app/layout.tsx — global styles imported once at the root
import "./globals.css";
CSS Modules (محصور افتراضيًا)
styles ;
() => ;
تصريح .module.css يحصر أسماء الفئات تلقائيًا، لذا لن يتعارض .primary في ملف واحد مع .primary في ملف آخر — حل مشكلة نطاق CSS العام بدون وقت التشغيل.
export default () => <button className="px-4 py-2 bg-blue-600 rounded">Click</button>;
أداة-أولى؛ لدى Next.js دعم إعداد من الدرجة الأولى. شهير بسبب السرعة والاتساق، وينظف الأنماط غير المستخدمة تلقائيًا.
const Button = styled.button`background: blue;`; // styled-components, Emotion, etc.
يعمل، لكن لاحظ: معظم مكتبات CSS-in-JS هي مكونات العميل فقط وتحتاج إلى إعداد إضافي لمكونات الخادم. الخيارات الأحدث بدون وقت التشغيل (vanilla-extract, Tailwind) تناسب نموذج App Router الموجه بالخادم بشكل أفضل.
npm install sass # then import .scss files — built-in support, no config
Tailwind → fast, consistent, server-friendly (popular default)
CSS Modules → scoped, plain CSS, no runtime, great with Server Components
CSS-in-JS → dynamic styles, but client-only + more setup in App Router
Global CSS/Sass → resets, base styles, design tokens
لا يفرض Next.js اختيار التصميم — يدعم CSS عام، وCSS Modules محصور، وTailwind، وSass، وCSS-in-JS مع أدوات مدمجة.
معرفة المقايضات (خاصة أن CSS-in-JS خاص بالعميل فقط في App Router، بينما Tailwind/CSS Modules يعملان بشكل جيد مع Server Components) يساعدك على اختيار نهج يناسب نموذج العرض.
مكتبة من أسئلة مقابلات تقنية المعلومات مع إجابات مفصّلة — من المبتدئ إلى المتقدم.
تبرع