Rumah > hujung hadapan web > tutorial css > Mengapa CSS `keterlihatan: tersembunyi` Gagal untuk Kesan Hover?

Mengapa CSS `keterlihatan: tersembunyi` Gagal untuk Kesan Hover?

Mary-Kate Olsen
Lepaskan: 2024-11-18 22:01:02
asal
187 orang telah melayarinya

Why Does CSS `visibility: hidden` Fail for Hover Effects?

Menyingkap Misteri: Mengapa Keterlihatan CSS Gagal untuk Tuding

Keterlihatan CSS menawarkan cara yang mudah untuk memanipulasi keterlihatan elemen, tetapi kadangkala ia tersandung pada sekatan jalan yang tidak dijangka. Pertimbangkan senario di mana anda telah menentukan kelas "spoiler" untuk menjadikan teks tidak kelihatan pada mulanya dan mendedahkannya pada tuding tetikus. Walaupun anda menjangkakan, teks itu tetap berdegil dalam keadaan tersembunyi, menentang usaha melayang anda.

Menyelami Sebabnya

Pelaku di sebalik tingkah laku yang membingungkan ini terletak pada sifat daripada unsur tersembunyi. Apabila elemen disembunyikan menggunakan visibility:hidden, ia menjadi tidak kelihatan dan tidak menggunakan ruang dalam reka letak halaman. Ini bermakna cubaan untuk melayang di atasnya pada asasnya seperti cuba berinteraksi dengan kekosongan. Elemen itu hanya tidak mendaftarkan tindakan melayang.

Menyelesaikan Dilema Keterlihatan

Untuk mengatasi halangan ini, anda perlu menyediakan elemen itu dengan cara untuk kekal kelihatan walaupun kandungannya disembunyikan. Satu pendekatan ialah menyarangkan elemen di dalam bekas lain yang boleh menerima acara tuding. Begini cara anda boleh mencapai ini:

CSS:

.spoiler span {
    visibility: hidden;
}

.spoiler:hover span {
    visibility: visible;
}
Salin selepas log masuk

HTML:

Spoiler: <span class="spoiler"><span>E.T. phones home.</span></span>
Salin selepas log masuk

Penjelasan:

Dengan menyarangkan teks tersembunyi dalam elemen span, anda memastikan elemen spoiler luar kekal kelihatan, membolehkannya menangkap acara tuding. Apabila tuding berlaku, elemen span dalam menjadi kelihatan, mendedahkan teks spoiler.

Pertimbangan Tambahan

Dalam penyemak imbas tertentu seperti Chrome, anda mungkin menghadapi sedikit isu di mana elemen spoiler tersembunyi masih boleh dipilih sedikit dengan tetikus. Untuk menangani perkara ini, anda boleh menambah garis besar pada elemen spoiler:

.spoiler {
    outline: 1px solid transparent;
}
Salin selepas log masuk

Garis lutsinar ini memastikan elemen spoiler mempunyai saiz yang mencukupi untuk menerima acara tuding tanpa menghalang keterlihatan keseluruhan teks.

Dengan pelarasan ini, kelas spoiler anda akan berfungsi dengan sempurna, mengekalkan halimunan teks tersembunyi dan memberikan pengalaman melayang yang lancar.

Atas ialah kandungan terperinci Mengapa CSS `keterlihatan: tersembunyi` Gagal untuk Kesan Hover?. 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