شبكة تعلم مع ناو

ما هو المحدد :has() في CSS؟

المحدد :has() يختار العنصر حسب ما يحتويه. لهذا يُسمى أحيانًا “محدد الأب”.

div:has(img) {
  border: 2px solid red;
}

هذا يضع إطارًا حول كل div يحتوي على صورة، وليس حول الصورة نفسها.

أمثلة مفيدة

/* a card that has an image gets a different layout */
.card:has(img) { display: grid; }

/* style a form field label when its input is invalid */
label:has(+ input:invalid) { color: red; }

الدعم

كل المتصفحات الحديثة تدعم :has() اليوم. قبله، كان هذا النوع من الاختيار يحتاج JavaScript.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.