Bagaimana untuk Menggantung Kesan Hover Ibu Bapa Apabila Melayang Pada Elemen Kanak-kanak?

Linda Hamilton
Lepaskan: 2024-11-02 17:50:29
asal
971 orang telah melayarinya

How to Suspend Parent Hover Effects When Hovering Over a Child Element?

Melayang pada Elemen Kanak-kanak dan Menggantung Kesan Tuding Ibu Bapa

Apabila bersarang

elemen wujud bersama, menuding di atas elemen anak boleh mengganggu kesan leding yang digunakan pada elemen induk. Sebaliknya, anda mungkin menginginkan kesan tuding pada elemen induk untuk menyahaktifkan apabila menuding di atas kanak-kanak.

Penyelesaian CSS

Mencapai tingkah laku ini tanpa JavaScript memerlukan penyelesaian yang bijak menggunakan elemen adik beradik.

<code class="css">.parent {
  width: 100px;
  height: 100px;
  padding: 50px;
  background: lightgray;
}

.parent:hover {
  background: lightblue;
}

.child {
  height: 100px;
  width: 100px;
  background: darkgray;
}

.child:hover {
  background: lightblue;
}

.sibling {
  position: relative;
  width: 100px;
  height: 100px;
  padding: 50px;
  top: -50px;
  left: -50px;
  background: #3D6AA2;
  transition: background-color 1s;
}

.sibling:hover {
  background: #FFF;
}</code>
Salin selepas log masuk
<code class="html"><div class="parent">
    <div class="sibling"></div>
    <div class="child"></div>
</div></code>
Salin selepas log masuk

Helah Elemen Adik Beradik

Elemen adik beradik diletakkan secara mutlak dalam elemen induk dan bertindih dengan ibu bapa dan anak elemen. Ia melangkaui sempadan induk untuk menangkap semua acara tuding secara berkesan yang tidak menyasarkan elemen anak secara khusus.

Apabila elemen adik beradik dituding, warna latar belakangnya bertukar kepada putih, sekali gus membatalkan kesan tuding ibu bapa secara visual. Apabila elemen anak dilegar, kesan tudingnya sendiri kekal, tetapi unsur adik beradik putih menyembunyikan kesan leding ibu bapa.

Perkembangan Terkini

Perhatikan bahawa :has( ) pemilih kini wujud, membolehkan penyasaran langsung unsur induk berdasarkan kehadiran keturunan tertentu. Pendekatan ini boleh digunakan untuk mencapai tingkah laku yang diingini dengan lebih elegan.

<code class="css">.parent:has(.child:hover) {
  background: lightgray !important;
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menggantung Kesan Hover Ibu Bapa Apabila Melayang Pada Elemen Kanak-kanak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan