Soalan:
Mencapai kesan CSS apabila menuding pada satu elemen secara langsung mengubah rupa unsur lain yang berdekatan boleh menjadi rumit. Walaupun terdapat percubaan untuk melaksanakan kesan sedemikian, masih tidak jelas sama ada ia boleh dilakukan semata-mata melalui CSS.
Jawapan:
Keupayaan untuk menjejaskan penampilan elemen apabila melayang di atas elemen berbeza menggunakan CSS adalah terhad. Malah, ia hanya boleh dilakukan jika elemen yang disasarkan adalah sama ada keturunan atau adik beradik bersebelahan unsur pencetus.
Elemen Keturunan:
Jika elemen yang terjejas bersarang dalam elemen pencetus, CSS boleh digunakan untuk memanipulasinya pada tuding:
#parent_element:hover #child_element, #parent_element:hover > #child_element { opacity: 0.3; }
Pemilih ini akan menggunakan kesan kepada elemen dengan struktur berikut:
<div>
Adik Beradik Bersebelahan:
Untuk elemen yang merupakan adik beradik bersebelahan dengan elemen pencetus, pendekatan yang berbeza ialah perlu:
#first_sibling:hover + #second_sibling { opacity: 0.3; }
Pemilih ini akan menyasarkan elemen dalam HTML berikut struktur:
<div>
Penghadan:
Dalam kedua-dua kes, adalah penting untuk ambil perhatian bahawa elemen terakhir yang dinyatakan dalam pemilih ialah elemen yang akan terjejas pada tuding .
Contoh:
Untuk senario serupa dengan contoh pseudo-kod yang disediakan, peraturan CSS berikut boleh digunakan:
img:hover + img { opacity: 0.3; color: red; }
Contoh yang menunjukkan kesan ini boleh didapati dalam JS Fiddle yang disediakan: https://jsfiddle.net/
Atas ialah kandungan terperinci Bolehkah CSS Sendiri Menggayakan Satu Elemen Apabila Melayang Di Atas Yang Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!