Transformasi pada sifat paparan CSS
P粉958986070
2023-08-23 12:27:32
<p>Saya sedang mereka bentuk menu "megadropdown" CSS - pada asasnya dropdown CSS tulen biasa, tetapi dengan jenis kandungan yang berbeza. </p>
<p>Pada masa ini, peralihan <strong>CSS 3 nampaknya tidak berfungsi dengan sifat 'paparan'</strong>, iaitu anda tidak boleh membuat apa-apa jenis peralihan/kod> daripada <kod>paparan: tiada< <kod>paparan: blok</kod> </kod></p><kod>
<p>Adakah terdapat cara untuk menjadikan menu peringkat kedua dalam contoh di atas "memudar" apabila seseorang menuding pada salah satu item menu peringkat atas? </p>
<p>Saya tahu anda boleh menggunakan perubahan pada atribut <kod>keterlihatan:</code> tetapi saya tidak dapat memikirkan cara untuk menggunakannya dengan cekap. </p>
<p>Saya juga cuba menggunakan ketinggian, tetapi gagal dengan teruk. </p>
<p>Saya juga tahu adalah mudah untuk melakukan ini menggunakan JavaScript, tetapi saya ingin mencabar diri saya untuk menggunakan CSS sahaja, dan saya rasa kebolehan saya agak kurang. </p></code>
Anda perlu menyembunyikan elemen dengan cara lain untuk menjadikannya berfungsi.
Saya mencapai kesan ini dengan menggabungkan dua 绝对定位并将隐藏的设置为 - akan
- akan
- Letakkan elemen ini di luar bingkai lain dengan elemen
opacity: 0
.Jika anda menggantikan
display
属性从none
切换为block
, transformasi pada elemen lain tidak akan berlaku. 强>Untuk membetulkannya, sentiasa benarkan elemen menjadi
display: block
, tetapi sembunyikan elemen dengan melaraskan mana-mana yang berikut:高度
设置为0
.不透明度
设置为0
.overflow:hidden
.Mungkin terdapat lebih banyak penyelesaian, tetapi jika anda menukar elemen kepada
display: none
, transformasi tidak dapat dilakukan. Sebagai contoh, anda boleh mencuba sesuatu seperti ini:Tetapi ini tidak berkesan. Dalam pengalaman saya, saya mendapati bahawa ini tidak melakukan apa-apa.
Jadi, anda perlu sentiasa mengekalkan unsur tersebut
display: block
- tetapi anda boleh mengatasinya dengan melakukan perkara berikut:Anda boleh menyambungkan dua atau lebih peralihan, dan
visibility
akan berguna kali ini.