NahdaAIنهضة
Tailwind CSS • المستوى الثالث • الدرس 3

دعم الوضع الداكن (Dark Mode & Color Schemes)

العودة لفهرس المستوى

أهداف الدرس

  • تنسيق العناصر للثيم الفاتح افتراضياً وتخصيص الثيم الداكن بـ dark:.
  • فهم الفرق بين إستراتيجية media (نظام التشغيل) و class (التبديل اليدوي).
  • تنسيق الشبكة الكاملة من الخلفيات، الحدود، النصوص، والظلال لكل ثيم.
  • دمج transition-colors لانتقال سلس عند تبديل الوضع.

1. إسناد الألوان المتكيفة بـ Dark Mode

تجعل بادئة dark: تطبيق الألوان مقتصراً على حالة تفعيل الوضع الداكن، مما يعطي مرونة لا مثيل لها دون مضاعفة حجم الكود.

html
<!-- النمط الأساسي للوضعين -->
<div class="bg-white dark:bg-slate-900
            text-slate-800 dark:text-white">
  ...
</div>

<!-- الحدود -->
<div class="border border-slate-200 dark:border-slate-700">
  ...
</div>

<!-- الظلال -->
<div class="shadow-md dark:shadow-indigo-500/20">
  ...
</div>

<!-- انتقال سلس -->
<div class="transition-colors duration-300">
  ...
</div>

2. استراتيجيات تفعيل الوضع الداكن

media (الافتراضي)

يتبع تفضيل نظام التشغيل تلقائياً — لا يحتاج JavaScript.

darkMode: 'media'
class (يدوي)

يعتمد على إضافة صنف dark على <html> — يحتاج زر تبديل.

darkMode: 'class'

3. جدول مقارنة الألوان

العنصرالوضع الفاتحالوضع الداكن
الخلفيةbg-whitedark:bg-slate-900
النصtext-slate-800dark:text-white
الحدودborder-slate-200dark:border-slate-700
الظلالshadow-mddark:shadow-indigo-500/30
التطبيق العملي المباشر

تحدي الدرس الثالث: بناء واجهة بوضعين كاملين

قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:

  1. أضف dark:text-sky-400 إلى عنوان البطاقة الأولى.
  2. غلّف الكل في حاوية <div class="space-y-6 p-4">.
  3. أضف بطاقة ثانية بـ bg-slate-50 dark:bg-slate-800 مع حدود وشبكة ألوان كاملة للوضعين.
  4. أضف داخل البطاقة الثانية أيقونة دائرية بـ bg-indigo-100 dark:bg-indigo-500/20.
  5. أضف زر تبديل onclick="document.documentElement.classList.toggle('dark')" للتبديل بين الوضعين.
  6. أضف 3 شارات حالة (نجاح، تحذير، خطأ) بألوان متكيفة لكل وضع.
⏳ جارٍ تحميل المحرر التفاعلي...