تقنية

⁦:where()⁩ و⁦:is()⁩ في CSS: الاختيار نفسه ودرجة تحديد مختلفة

قائمة ghost وnote تعطي is الدرجة (1,0,0)، وwhere الدرجة (0,0,0).
ترتيب الثلاثية: معرف، صنف، نوع.

المطابقة شيء ودرجة التحديد شيء آخر.

الخلاصة السريعة

قد يختار :is() و:where() العنصر نفسه، لكن الأول يأخذ أعلى درجة تحديد في قائمته، والثاني يسهم بصفر.

  • :is() يأخذ درجة أعلى محدد في قائمته.
  • :where() وقائمته يسهمان بصفر.
  • المحددات خارج الدالة تحسب منفصلة.
  • المطابقة لا تكفي لاستنتاج الدرجة.

معرف لا يظهر في الصفحة

اخترنا :is(#ghost,.note) و:where(#ghost,.note) لعنصر يحمل الصنف note، بلا عنصر معرفه ghost. كلاهما يطابقه؛ درجة الأول (1,0,0)، والثاني (0,0,0). عدم مطابقة المعرف لا يحذف وزنه من قائمة :is().

المحدد الكامل

عند إضافة محدد خارج الدالة، احسب مساهمته أيضًا. الصفر يخص :where() وما داخلها؛ لا يصف كل قاعدة محيطة بها. نقارن درجة التحديد، ولا نقدم قاعدة لترتيب كل أنماط الصفحة.

المصادر ومتابعة القراءة

  1. W3C — Selectors Level 4 (يفتح في نافذة جديدة)w3.org

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.