Peralihan CSS3 - Kesan Fade Out
Menggunakan CSS3, anda boleh melaksanakan kesan fade out dengan mudah untuk meningkatkan pengalaman pengguna. Walau bagaimanapun, jika anda menghadapi masalah dengan animasi slaid tidak berfungsi, mari kita terokai sebabnya.
Memahami Isu
Anda sedang cuba mencipta animasi slaid ke atas menggunakan @keyframes. Walau bagaimanapun, animasi tidak berlaku. Untuk menyahpepijat ini, kami akan menyelidiki kod yang anda berikan.
<code class="css">.dummy-wrap { animation: slideup 2s; }</code>
Kod ini menunjukkan bahawa kelas .dummy-wrap harus melakukan animasi slaid naik selama 2 saat. Blok @keyframes mentakrifkan pergerakan animasi:
<code class="css">@keyframes slideup { 0% {top: 0px;} 75% {top: 0px;} 100% {top: -20px;} }</code>
Menyelesaikan masalah Animasi Slaid
Memeriksa bingkai utama, kami mendapati bahawa kedudukan elemen hanya berubah dalam 25 terakhir % daripada animasi. Memandangkan elemen bermula di atas: 0px; dan berakhir di atas: -20px;, ia pada asasnya akan bergerak serta-merta ke atas: -20px;, menghasilkan kesan "gelongsor ke atas" secara tiba-tiba.
Penyelesaian Alternatif untuk Fade-Out
Daripada menggunakan terjemah, anda boleh menggunakan kelegapan untuk mencapai kesan pudar. Begini cara anda boleh melaksanakannya:
<code class="css">.hidden { opacity: 0; transition: opacity 2s; }</code>
Teknik ini mengurangkan kelegapan elemen secara beransur-ansur, mewujudkan kesan pudar yang boleh dilihat dalam tempoh 2 saat.
Butiran Tambahan
Dalam versi awal kod anda, kesan "slaid ke atas" secara tiba-tiba adalah disebabkan oleh fakta bahawa kedudukan elemen hanya diubah suai dalam 25% terakhir animasi. Dengan menukar kepada kelegapan dan mengalihkannya sepanjang tempoh, kami mencapai kesan pudar yang lancar.
Atas ialah kandungan terperinci Mengapa animasi slaid naik saya menggunakan CSS3 @keyframes tidak berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!