الخلاصة
- وصفت مسودة W3C في فبراير 2018 فئة زائفة عديمة الوزن لم يكن اسمها قد حُسم؛ وفي نوفمبر ظهرت باسم
:where()مع مثال صريح عن خط رابط الملاحة. - تبقى الشروط داخل
:where()عاملة في مطابقة العناصر، لكنها تضيف صفراً إلى درجة الخصوصية. أما المحددات المكتوبة خارج القوسين فتحافظ على وزنها.
تبدأ المرافعة بسطر a:not(:hover): الروابط التي لا يقف فوقها المؤشر تفقد الخط السفلي. يكتب مسؤول شريط الملاحة nav a كي يعيد الخط إلى روابط القائمة. حتى إذا جاءت قاعدته في آخر الملف، لا تحصل على ما تريد. الفئة الزائفة في السطر الأول أثقل من اسم العنصر الإضافي في الثاني. بعد ذلك يبدأ التصعيد المعتاد: فئة أخرى هنا، سلسلة أطول هناك، و!important يدخل القاعة كأنه إعلان حالة طوارئ من أجل خط لا يتجاوز بضعة بكسلات.
عرضت مسودة Selectors Level 4 المؤرخة 21 نوفمبر 2018 هذا المثال وقدمت تعديلاً صغيراً: a:where(:not(:hover)). يبقى شرط عدم التحويم، فتظل القاعدة العامة تصيب الروابط المقصودة. لكن الشرط الموجود داخل :where() يتوقف عن زيادة درجة الخصوصية؛ يبقى وزن a الخارجي وحده. عندئذ تستطيع nav a إعادة الخط داخل القائمة. القاعدة المشتركة لم تفقد قدرتها على العمل، وإنما تخلت عن حق نقض لم يطلبه أحد.
وجدت الفكرة مكانها في النص قبل أن تجد اسماً. مسودة 2 فبراير 2018 ذكرت فئة زائفة تشبه :matches() بدرجة خصوصية صفرية، مع ترك التسمية مفتوحة. نسخة نوفمبر سمتها :where()، وأبرز إعلان مجموعة عمل CSS الاسم الجديد. كانت CSS قادرة منذ زمن على العثور على العناصر. ما احتاجه مؤلفو الأنماط هو أن يفصلوا بين دقة العثور على العنصر وقوة القاعدة حين تختلف معها قاعدة أخرى.
كل محدد يؤدي مهمتين: يختار العناصر، ويساهم في ترتيب الإعلانات المتعارضة. تعزل :where() المهمة الأولى عن الوزن المضاف بشروطها. تعطي مسودة 7 مايو 2022 مثالاً محسوباً: درجة .qux:where(em, #foo#bar#baz) هي (0,1,0). المعرّفات الكثيرة داخل القوسين تساعد على المطابقة، ولا ترفع النتيجة؛ الفئة .qux الواقعة خارجهما هي التي تضيف النقطة. الصفر هنا قرار محدد الحدود، وليس ممحاة تمسح السطر كله.
لهذا القرار فائدة واضحة عندما توزع مكتبة تصميم قواعد جاهزة على صفحات كثيرة. تحتاج المكتبة إلى تحديد الروابط أو عناصر التحكم بدقة حتى لا تصيب جيرانها، لكنها تستطيع إبقاء القاعدة الافتراضية خفيفة. حين يقرر فريق صفحة ما شكل قائمة بعينها، يكفيه محدد محلي عادي. ينفذ المتصفح حساباً واحداً للجميع، ويختار كل مؤلف مقدار الوزن الذي يمنحه لقاعدته. ينتقل العمل بين الفرق من غير سباق لتكديس المحددات.
تشرح مسودة 11 نوفمبر 2022 أيضاً كيفية التعامل مع قوائم محددات متسامحة: يمكن حذف عنصر غير صالح والإبقاء على العناصر الصالحة وفق قواعد التحليل المذكورة. هذا تفصيل نافع في عائلة الدوال، وحدوده منصوص عليها. تجمع صفحة تاريخ النشر لدى W3C محطات 2018 و2022. بقيت الصورة الأقرب إلى القارئ هي رابط القائمة: تستطيع القاعدة العامة أن تتعرف إليه، وتترك لمن يصمم القائمة حرية رسم خطه.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات





