الدرس 5 من 8
الوضع الداكن
- 15 دقيقة
- 6 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
متغيّرات تتبدّل بدل ألوان مكرّرة
الشرح
الطريقة الصحيحة للوضع الداكن لا تعيد كتابة الألوان في كل قاعدة، بل تجعل الألوان كلّها متغيّرات على :root، فلا تستعمل المكوّنات إلا var(--bg) وما يشبهها، وعندما تعيد تعريف المتغيّرات وحدها يتغيّر كل شيء معًا.
وتعيد تعريفها في موضعين: داخل @media (prefers-color-scheme: dark) لتتبع الصفحة إعداد النظام تلقائيًّا، وفي :root[data-theme="dark"] لمن اختار الوضع الداكن بنفسه. واكتب مع كل سمة (theme) قيمة color-scheme المناسبة لها، ليلوّن المتصفح الأزرار والحقول وأشرطة التمرير بحسبها.
وانتبه إلى هذه المشكلة: المستخدم الذي نظامه داكن واختار «فاتح» في موقعك يبقى عالقًا في الوضع الداكن، لأن استعلام الوسائط ما زال ينطبق عليه، والحلّ أن تستثني هذا الاختيار داخل الاستعلام بـ :root:not([data-theme="light"]).
المطلوب
انقل الألوان إلى المتغيّرات --bg و--fg و--surface على :root مع color-scheme: light، ثم أعد تعريفها بقيم داكنة ومعها color-scheme: dark في موضعين: داخل الاستعلام مع استثناء [data-theme="light"]، وفي :root[data-theme="dark"].
الفحوص
6 فحوص- الصفحة تأخذ ألوانها من --bg و--fg
- استعلام prefers-color-scheme: dark يعيد تعريف --bg
- اختيار «داكن» يجعل الصفحة داكنة ولو كان النظام فاتحًا
- البطاقة تصبح داكنة مع الصفحة
- اختيار «فاتح» يتقدّم على النظام الداكن
- الخاصية color-scheme تتبع السمة