Bolehkah :hover Ubah suai Kelas CSS Luaran?

Susan Sarandon
Lepaskan: 2024-11-02 11:12:03
asal
337 orang telah melayarinya

Can :hover Modify External CSS Classes?

Bolehkah :hover Mengubah Suai Kelas CSS Luaran?

Dalam CSS, kita boleh menggunakan perubahan penggayaan pada elemen pada hover menggunakan pemilih :hover. Walau bagaimanapun, bagaimana jika kita mahu mengubah suai CSS elemen dalam kelas yang berbeza apabila elemen lain dilegar?

Memandangkan pemilih CSS hanya menyasarkan elemen berdasarkan hierarki atau perhubungan mereka dalam DOM, ia tidak boleh dilakukan secara langsung ubah suai CSS elemen di luar skop elemen leding semasa.

Pilihan untuk Pengubahsuaian Tidak Langsung

Walau bagaimanapun, terdapat pendekatan tidak langsung untuk mencapai kesan yang serupa:

  • Hubungan Ibu Bapa-Anak: Jika elemen yang anda ingin ubah suai (E) ialah anak kepada elemen yang dilegar (F), anda boleh menggunakan pemilih :hover pada F untuk menyasarkan E .
.item:hover .wrapper {
  /* Styles to be applied to '.wrapper' when '.item' is hovered */
}
Salin selepas log masuk
  • Hubungan Adik Beradik: Jika E ialah adik beradik F (atau keturunan salah seorang adik beradik F), anda boleh menggunakan ~ sibling combinator dalam CSS.
.item:hover ~ .wrapper {
  /* Styles to be applied to '.wrapper' when '.item' or any of its siblings is hovered */
}
Salin selepas log masuk

JavaScript Solution

Jika penyelesaian CSS tidak boleh dilaksanakan, anda boleh menggunakan JavaScript untuk memanipulasi sifat CSS E berdasarkan keadaan tuding F.

<code class="javascript">document.querySelector('.item').addEventListener('mouseenter', () => {
  document.querySelector('.wrapper').style.backgroundColor = 'red';
});

document.querySelector('.item').addEventListener('mouseleave', () => {
  document.querySelector('.wrapper').style.backgroundColor = '';
});</code>
Salin selepas log masuk

Kesimpulan

Walaupun pemilih CSS sahaja tidak boleh mengubah suai kelas luaran secara langsung, hubungan ibu bapa-anak atau adik-beradik dan JavaScript menyediakan penyelesaian tidak langsung untuk mencapai kesan yang serupa.

Atas ialah kandungan terperinci Bolehkah :hover Ubah suai Kelas CSS Luaran?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!