Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
البرنامج التعليمي · الويب7 دقائق قراءة·Updated أكتوبر 2026·بواسطة فريق ExodeUI

التحولات السلسة بين الوضع الفاتح والداكن: الرموز المميزة وCSS والحركة

كيفية إنشاء مفتاح تبديل للموضوع فاتح/داكن يحترم إعداد النظام، ويتجنب وميضًا عند التحميل، ويصمم عناصر التحكم الأصلية ويحركها دون الإضرار بإمكانية الوصول.

ملخص وتعريف مباشر

الوجبات الجاهزة الأساسية

أنشئ سمات على الرموز الدلالية، واتبع إعداد النظام باستخدام نظام الألوان المفضل افتراضيًا، واسمح للأشخاص بتجاوزه، وقم بتعيين خاصية نظام الألوان بحيث تتطابق عناصر التحكم في النموذج وأشرطة التمرير. قم بتطبيق السمة المحفوظة قبل عرض الصفحة لتجنب الوميض. اجعل الرسوم المتحركة للمفتاح قصيرة، مثل التلاشي السريع أو انتقال العرض، وتخطيها عند تشغيل الحركة المنخفضة.

ابدأ من إعداد النظام

تخبرك ميزة الوسائط المفضلة لنظام الألوان ما إذا كان المستخدم قد طلب من نظام التشغيل الخاص به مظهرًا فاتحًا أو داكنًا. استخدمه كإعداد افتراضي، وأضف مفتاحًا داخل التطبيق يتجاوزه ويتم تذكره.

تنتقل الرموز المميزة للموضوع الفاتح من خلال تلاشي قصير أو عرض الانتقال إلى الرموز المميزة للموضوع الداكن
مبادلة الرموز الدلالية وتعيين نظام الألوان؛ إبقاء الفترة الانتقالية قصيرة.

الموضوع مع الرموز، وليس التجاوزات

قم بتعريف الألوان كرموز دلالية (السطح، والنص، والحدود، والتمييز) ومنح كل سمة قيمها الخاصة، عادةً كخصائص مخصصة CSS على العنصر الجذر. ثم لا تتغير المكونات أبدًا بين المواضيع؛ فقط القيم المميزة هي التي تفعل ذلك. هذا هو نفس النهج المميز ثلاثي المستويات المستخدم في أنظمة التصميم متعددة العلامات التجارية.

لا تنس الضوابط الأصلية

يوضح MDN أن خاصية نظام الألوان تخبر المتصفح بالأنظمة التي يدعمها العنصر، والتي تغير الألوان الافتراضية لعناصر التحكم في النماذج وأشرطة التمرير وواجهة المستخدم المضمنة الأخرى. بدونها، يمكن أن تعرض الصفحة الداكنة مدخلات وأشرطة تمرير بيضاء ناصعة.

تجنب الفلاش عند التحميل

إذا تم تطبيق السمة المحفوظة بواسطة JavaScript بعد عرض الصفحة، فسيرى الأشخاص وميضًا للسمة الخاطئة. قم بتطبيقه في أقرب وقت ممكن، باستخدام برنامج نصي صغير مضمن في رأس المستند أو سمة مقدمة من الخادم، قبل طلاء ورقة الأنماط.

قم بتحريك المفتاح بعناية

إن التلاشي المتقاطع القصير، حوالي 150 إلى 250 مللي ثانية، يجعل التغيير يبدو متعمدًا. تجنب نقل كل خاصية لون في كل عنصر، وهو ما يمكن أن يكون بطيئًا في الصفحات الكبيرة؛ غالبًا ما تكون لقطة انتقال العرض الواحدة أكثر سلاسة. اجعل مفتاح التبديل نفسه واضحًا، باستخدام تسمية أو تلميح أداة، وقم بإزالة الرسوم المتحركة عند تشغيل الحركة المنخفضة.

مقتطف من تنفيذ الإنتاج

تنفيذ المكونات التفاعلية
/* Tokens per theme */
:root { color-scheme: light dark; --surface: #ffffff; --text: #121212; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --surface: #121212; --text: #f2f2f2; }
}
:root[data-theme="dark"] { color-scheme: dark; --surface: #121212; --text: #f2f2f2; }
:root[data-theme="light"] { color-scheme: light; }

body { background: var(--surface); color: var(--text); }

// Switch with a View Transition where supported, instantly otherwise
function setTheme(theme) {
  const apply = () => { document.documentElement.dataset.theme = theme; localStorage.setItem('theme', theme); };
  const reduce = matchMedia('(prefers-reduced-motion: reduce)').matches;
  if (!document.startViewTransition || reduce) return apply();
  document.startViewTransition(apply);
}

مفتاح Principle للتذكر

  • الافتراضي هو نظام الألوان المفضل؛ دع الناس يتجاوزون ويتذكرون ذلك
  • السمة ذات الرموز الدلالية، وليس تجاوزات لكل مكون
  • قم بتعيين نظام الألوان بحيث تتطابق عناصر التحكم الأصلية
  • قم بتطبيق السمة المحفوظة قبل الطلاء الأول
  • اجعل الرسوم المتحركة للمفتاح قصيرة واحترم الحركة المنخفضة

الأسئلة المتداولة

المصادر

  1. prefers-color-scheme — MDN مستندات الويب
  2. color-scheme — MDN مستندات الويب
  3. View Transition API — MDN مستندات الويب

الأدلة والأمثلة ذات الصلة

موضوع تبديل مع الطابع الحقيقي

تصفح مفاتيح التبديل المتحركة المجانية، بما في ذلك مفاتيح الشمس والقمر، وافتحها في ExodeUI للتكيف.

تصفح المكونات الحية
حاول مجانا