"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني تغيير لون خلفية الحاوية الرئيسية باستخدام CSS فقط عند المرور فوق عنصر فرعي؟

كيف يمكنني تغيير لون خلفية الحاوية الرئيسية باستخدام CSS فقط عند المرور فوق عنصر فرعي؟

تم النشر بتاريخ 2024-12-22
تصفح:430

How Can I Change a Parent Container's Background Color Using Only CSS When Hovering Over a Child Element?

تغيير لون خلفية الحاوية الرئيسية عند تمرير الطفل (CSS فقط)

بينما يتم وضع علامة على السؤال حول تحديد العناصر الأصلية باستخدام CSS غالبًا على أنه نسخة مكررة، فهي تتجاهل الحاجة إلى حلول عملية. على وجه الخصوص، يمكن معالجة مسألة تغيير لون خلفية الحاوية الأصلية عند المرور فوق فرعها من خلال نهج CSS فقط.

Pointer-Events and Hover:

لتحقيق هذا التأثير، يمكننا التعامل مع أحداث المؤشر ومجموعة :hover pseudo-class:

  1. أحداث المؤشر: لا شيء على الأصل. هذا يمنع العنصر الأصل من تلقي أي أحداث تحويم.
  2. حدد تغيير لون خلفية الأصل المطلوب عند التمرير.
  3. ضبط أحداث المؤشر: تلقائي على الطفل. يسمح هذا للعنصر الفرعي بتشغيل أحداث التمرير، على الرغم من تجاهل العنصر الأصلي لهم.

مثال:

div {
  height: 200px;
  width: 200px;
  text-align: center;
  pointer-events: none;
}
div:hover {
  background: #F00;
}
div > a {
  pointer-events: auto;
}

يلتقط هذا الحل بشكل فعال حدث التمرير على العنصر الفرعي، مما يسمح لخلفية الحاوية الأصلية بالتغيير عند تمرير العنصر الفرعي، كل ذلك بدون استخدام JavaScript.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3