الدرس 7 من 8
أولوية القواعد
- 13 دقيقة
- 4 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
لماذا لا تُطبَّق قاعدتك
الشرح
حين تعطي قاعدتان قيمتين مختلفتين للخاصية نفسها على العنصر نفسه، يختار المتصفح بينهما أولًا بحسب الخصوصية (specificity)، أي مدى دقّة المُحدِّد. فالمعرّف #id يغلب أي عدد من الأصناف، والصنف يغلب أي عدد من الوسوم، وإن تساوت القاعدتان فازت التي كُتبت بعد الأخرى في الملف.
ولهذا تكتب .active فلا يتغيّر اللون، لأن #sidebar .menu a أعلى منها في الخصوصية بفضل المعرّف. لكن الخطّ العريض يُطبَّق، لأن تلك القاعدة لا تذكره، فالقاعدة الخاسرة لا تخسر إلا الخاصية التي تتعارض فيها مع غيرها.
أما الحلّ السريع بـ !important ففخّ، لأنه يحلّ المشكلة هذه المرة ثم يفتح بابًا لا يُغلق، فكل تعديل بعده يحتاج إلى !important آخر بمُحدِّد أثقل. والحلّ الصحيح أن تخفّض الخصوصية، فتكتفي بأصناف قليلة ولا تستعمل المعرّفات في التنسيق.
المطلوب
اجعل الرابط النشط يظهر بلونه #b91c1c وبقية الروابط باللون #334155، دون !important ودون أي مُحدِّد فيه معرّف.
الفحوص
4 فحوص- الرابط النشط بلونه #b91c1c
- بقية الروابط باللون #334155
- لا يوجد !important في أي قاعدة
- لا يوجد مُحدِّد فيه معرّف