الدرس 5 من 8
الوضع الداكن
- 15 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
متغيّرات تنقلب، لا ألوان تتكرّر
الشرح
الوضع الداكن الصحيح لا يعيد كتابة الألوان في كل قاعدة. الألوان كلّها متغيّرات على :root، والمكوّنات لا تعرف إلا var(--bg) وأخواتها، ثم تُعاد المتغيّرات وحدها فينقلب كل شيء معًا.
وتُعاد في موضعين: داخل @media (prefers-color-scheme: dark) لتتبع الصفحةُ النظامَ تلقائيًّا، وفي :root[data-theme="dark"] لمن اختار الداكن صراحةً. ومع كل سمة 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 يتبع السمة