Rumah >hujung hadapan web >tutorial css >Mengapa Kesan Hover Saya Tidak Berfungsi pada Elemen dengan `keterlihatan: tersembunyi` dalam CSS?

Mengapa Kesan Hover Saya Tidak Berfungsi pada Elemen dengan `keterlihatan: tersembunyi` dalam CSS?

Barbara Streisand
Barbara Streisandasal
2024-11-12 01:26:03908semak imbas

Why Doesn't My Hover Effect Work on Elements with `visibility: hidden` in CSS?

Keterlihatan Tidak Berfungsi dalam CSS: Inilah Sebabnya dan Cara Membetulkannya

Dalam penggayaan CSS, kekaburan kadangkala boleh membawa kepada hasil yang tidak dijangka. Mari kita terokai isu biasa yang dihadapi apabila cuba menyembunyikan teks dengan sifat 'keterlihatan'.

Masalah:

CSS anda berbunyi seperti berikut:

Menurut konfigurasi ini, menuding pada teks dengan kelas '.spoiler' sepatutnya mendedahkannya. Walau bagaimanapun, ini tidak berlaku, menjadikan teks tidak kelihatan tanpa mengira kedudukan tetikus.

Sebab:

Isunya terletak pada gelagat lalai unsur tersembunyi. Elemen dengan 'keterlihatan: tersembunyi' tidak dikenali oleh ejen pengguna semasa acara tetikus, termasuk tuding. Oleh itu, keadaan tuding tidak sekali-kali diaktifkan.

Penyelesaian 1: Elemen Bersarang

Untuk mengatasi cabaran ini, seseorang boleh meletakkan teks spoiler di dalam yang lain elemen:

CSS:

HTML:

Penyelesaian ini berfungsi kerana elemen span bersarang dengan keterlihatan tersembunyi pada mulanya menyekat acara tetikus. Walau bagaimanapun, apabila elemen induk '.spoiler' menerima acara tuding, ia mengaktifkan dan mendedahkan elemen span, menjadikan teks kelihatan.

Penyelesaian 2 (Chrome Sahaja): Trik Outline

Pendekatan alternatif untuk Chrome ialah menambah garis besar pada '.spoiler' elemen:

Teknik ini mencipta kotak hit halimunan yang bertindak balas kepada peristiwa tetikus, membenarkan kesan tuding berfungsi dengan betul pada elemen tersembunyi.

Atas ialah kandungan terperinci Mengapa Kesan Hover Saya Tidak Berfungsi pada Elemen dengan `keterlihatan: tersembunyi` dalam CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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