CSS Animasi: Menyembuhkan Halaman Web

Halo sana, para ahli web masa depan! Hari ini, kita akan mandar ke dunia magis animasi CSS. Pada akhir panduan ini, Anda akan dapat membuat elemen menari di halaman web Anda seperti Fred Astaire digital. Jadi, sandal tari virtual Anda, dan mari kita mulai!

CSS - Animation

Apa Itu Animasi CSS?

Animasi CSS seperti memberikan kehidupan pada elemen statis di halaman web Anda. Bayangkan jika Anda dapat membuat tombol berdenyut saat pengguna mengerahkan mouse ke atasnya, atau logo berputar saat halaman dimuat. Itu kekuatan animasi CSS! Itu memungkinkan Anda untuk mengubah nilai properti CSS dalam durasi yang ditentukan, menciptakan gerakan dan kepentingan visual tanpa memerlukan JavaScript kompleks atau Flash.

Aturan @keyframes

Jantung animasi CSS adalah aturan @keyframes. Ini tempat Anda mendefinisikan tahap animasi Anda.

@keyframes bounce {
0% { transform: translateY(0); }
50% { transform: translateY(-20px); }
100% { transform: translateY(0); }
}

Dalam contoh ini, kita telah membuat animasi yang disebut "bounce". Pada 0% (mula-mula), elemen berada dalam posisi aslinya. Pada 50% (setengah jalan animasi), itu pindah ke atas 20 piksel. Pada 100% (akhir), itu kembali ke posisi aslinya.

Properti Delay Animasi

kadang-kadang, Anda ingin animasi Anda menunggu sebelum dimulai. Itu di mana properti animation-delay berguna.

.delayed-bounce {
animation-name: bounce;
animation-duration: 1s;
animation-delay: 2s;
}

CSS ini akan menerapkan animasi "bounce" ke setiap elemen dengan kelas "delayed-bounce". Animasi akan berlangsung 1 detik, tapi itu tidak akan mulai sampai 2 detik setelah halaman dimuat.

Setel Jumlah Iterasi Animasi

Secara default, animasi berjalan sekali dan berhenti. Tetapi, apa bila Anda ingin animasi Anda terus berjalan, seperti Boneka Energi? Itu di mana animation-iteration-count masuk ke dalam.

.infinite-bounce {
animation-name: bounce;
animation-duration: 1s;
animation-iteration-count: infinite;
}

Sekarang elemen loncatan kita akan terus melompat, atau sampai pengguna menutup halaman (yang mana yang terjadi lebih dulu)!

Properti Arah Animasi

Kadang-kadang, Anda mungkin ingin animasi Anda berjalan ke belakang, atau bergantian antara ke depan dan ke belakang. Properti animation-direction memungkinkan Anda melakukan hal itu.

.alternate-bounce {
animation-name: bounce;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-direction: alternate;
}

Ini akan membuat elemen kita loncat ke atas dan ke bawah secara berkelanjutan, seperti mesin gerak tak berhenti (kalau saja kita dapat menggunaakan ini untuk energi bersih!).

Properti Timing Animasi

Properti animation-timing-function memungkinkan Anda mengendalikan kecepatan animasi Anda. Itu seperti menjadi konduktor orkestra digital Anda sendiri!

.ease-in-out-bounce {
animation-name: bounce;
animation-duration: 1s;
animation-timing-function: ease-in-out;
}

Ini akan membuat animasi loncatan kita mulai lambat, cepat di tengah, dan kemudian lambat lagi di akhir, memberikan rasa lebih alami dan bergetar.

Setel Mode Isi Animasi

Properti animation-fill-mode menentukan bagaimana elemen harus terlihat sebelum dan sesudah animasi.

.fill-mode-bounce {
animation-name: bounce;
animation-duration: 1s;
animation-fill-mode: forwards;
}

Dengan forwards, elemen akan mempertahankan gaya dari keyframe terakhir saat animasi berakhir, daripada kembali ke posisi aslinya.

Properti Shorthand Animasi

Jika Anda merasa kepanasan oleh semua properti ini, jangan khawatir! CSS menyediakan properti shorthand untuk menyetel semua properti animasi sekaligus:

.shorthand-bounce {
animation: bounce 1s ease-in-out 2s infinite alternate forwards;
}

Baris tunggal ini menyetel nama animasi, durasi, fungsi timing, delay, jumlah iterasi, arah, dan mode isi. Itu seperti pisau Switzerland animasi CSS!

Daftar Properti Animasi CSS

Berikut adalah tabel praktis dari semua properti animasi CSS yang kita bahas:

Properti Deskripsi
animation-name Menentukan nama animasi @keyframes
animation-duration Menentukanberapa lama animasi harus menyelesaikan satu siklus
animation-timing-function Menentukan kurva kecepatan animasi
animation-delay Menentukan delay untuk mulai animasi
animation-iteration-count Menentukan berapa kali animasi harus diputar
animation-direction Menentukan apakah animasi harus diputar terbalik pada siklus alternatif
animation-fill-mode Menentukan nilai mana yang akan diterapkan oleh animasi di luar waktu eksekusi
animation Properti shorthand untuk menyetel semua properti animasi

Dan begitu saja, teman-teman! Anda sekarang dilengkapi pengetahuan untuk menyembuhkan halaman web Anda dengan animasi CSS. Ingat, dengan kekuatan besar datang tanggung jawab besar - gunakan animasi ini bijaksana untuk meningkatkan pengalaman pengguna, bukan mengganggu itu.

Saat Anda berlatih, Anda akan menemukan bahwa animasi CSS seperti memasak - itu memerlukan waktu untuk mendapatkan resep tepat. Tetapi sekali Anda melakukan itu, Anda akan menyajikan pengalaman web animasi yang lezat yang akan membuat pengguna Anda kembali untuk lagi!

Sekarang maju dan animasikan, para Pixar digital saya. Web adalah kanvas Anda, dan CSS adalah kuas Anda. Selamat animasikan!

Credits: Image by storyset