Rumah  >  Artikel  >  hujung hadapan web  >  Cara Mencegah Kandungan Tidak Diinginkan Bersembunyi dalam CSS: Penyelesaian untuk Masalah \":focus\".

Cara Mencegah Kandungan Tidak Diinginkan Bersembunyi dalam CSS: Penyelesaian untuk Masalah \":focus\".

DDD
DDDasal
2024-10-28 18:43:02762semak imbas

How to Prevent Unintended Content Hiding in CSS: A Solution for the

Sembunyikan/Tunjukkan Senarai Kandungan dengan CSS: Menyelesaikan Gelagat Yang Tidak Diingini

Dalam usaha mencari penyelesaian untuk menyembunyikan dan menunjukkan kandungan hanya menggunakan CSS, pembangun menghadapi masalah: kandungan boleh disembunyikan dengan mengklik di mana-mana pada halaman, bukannya hanya dengan mengklik pautan "sembunyikan" yang ditetapkan.

Kod awal pembangun menggunakan CSS berikut:

<code class="css">#cont {display: none; }
.show:focus + .hide {display: inline; }
.show:focus + .hide + #cont {display: block;}</code>

Kod ini berjaya menyembunyikan kandungan apabila pautan "sembunyikan" diklik. Walau bagaimanapun, ia juga membolehkan penyembunyian dengan mengklik mana-mana bahagian halaman, kerana peraturan CSS menyasarkan kelas pseudo ":focus".

Untuk menyelesaikan isu ini, kami boleh menggunakan CSS dikemas kini berikut:

<code class="css">body {
  display: block;
}
.span3:focus ~ .alert {
  display: none;
}
.span2:focus ~ .alert {
  display: block;
}
.alert{display:none;}</code>

Dalam kod yang dikemas kini ini, kami menggunakan penggabung "~" untuk menyasarkan elemen yang merupakan adik-beradik elemen yang difokuskan. Ini bermakna elemen "sembunyikan" (~ .alert) hanya disembunyikan apabila elemen "tunjukkan" berada dalam fokus.

HTML tetap sama:

<code class="html"><span class="span3">Hide Me</span>
<span class="span2">Show Me</span>
<p class="alert" >Some alarming information here</p></code>

Dengan semakan ini pendekatan, kandungan kini hanya disembunyikan apabila elemen "Sembunyikan Saya" diklik, seperti yang dimaksudkan oleh pembangun.

Atas ialah kandungan terperinci Cara Mencegah Kandungan Tidak Diinginkan Bersembunyi dalam CSS: Penyelesaian untuk Masalah \":focus\".. 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