Generator Keyframes CSS
Aturan @keyframes menentukan titik-titik penting sebuah animasi: bagaimana elemen terlihat di awal, tengah, dan akhir. Generator ini menulis aturan untuk empat gerakan umum: fade-slide, pulse, spin, dan bounce. Beri nama animasi, atur durasinya, dan untuk gerakan geser serta pantul, jarak tempuhnya dalam piksel. Hasilnya adalah bentuk singkat animation plus blok @keyframes, siap ditempel ke lembar gaya Anda.
Cara membuat keyframes
-
1
Pilih jenis animasi
Fade slide, pulse, spin, atau bounce. Setiap preset sudah berisi keyframe siap pakai.
-
2
Beri nama animasi
Nama kebab-case seperti `fade-slide`, yang dipakai nanti dalam bentuk singkat `animation`.
-
3
Atur durasinya
Dalam detik, misalnya 0.6 untuk transisi cepat.
-
4
Atur jaraknya (slide dan bounce)
Jarak tempuh dalam piksel, dipakai untuk gerakan vertikal.
-
5
Salin CSS-nya
Bentuk singkat plus blok `@keyframes`, siap untuk lembar gaya Anda.
Empat preset
Fade slide
.animated {
animation: fade-slide 0.6s ease both;
}
@keyframes fade-slide {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
Elemen muncul sambil meluncur naik dari bawah.
Pulse
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.05); opacity: .8; }
}
Efek berdenyut lembut, cocok untuk titik notifikasi dan lencana.
Spin
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
Putaran penuh, berguna untuk loader dan ikon.
Bounce
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-24px); }
}
Elemen memantul ke atas dan kembali.
Mengapa transform dan opacity?
Peramban mengomposisikan transform dan opacity di GPU tanpa menghitung ulang tata letak atau mengecat ulang, jadi menganimasikannya tetap mulus. Preset sengaja menghindari properti yang memicu penghitungan tata letak.
Bentuk singkat animation
animation: fade-slide 0.6s ease both; dibaca: animasi bernama fade-slide, selama 0.6 detik, dengan easing ease bawaan. Mode isian both menerapkan keadaan awal sebelum animasi dimulai dan mempertahankan keadaan akhir setelah selesai, sehingga elemen tidak berkedip sebelum atau menyentak kembali setelah gerakan.
Konvensi penamaan
- Gunakan kebab-case, sesuai konvensi CSS.
- Gambarkan gerakannya, bukan elemennya:
fade-in-uplebih baik daripadaalert-appear. - Hindari nama yang bisa bertabrakan dengan pustaka pihak ketiga.
Dukungan peramban
@keyframes bersifat universal, didukung semua peramban sejak IE 10.
Pertanyaan yang Sering Diajukan
Fade slide untuk konten yang masuk ke halaman, seperti kartu, banner, atau dialog. Pulse untuk titik perhatian, lencana, dan tombol yang harus menonjol. Spin untuk loader dan ikon progres. Bounce untuk penekanan yang ceria, seperti panah ajakan bertindak.
Jarak adalah perpindahan vertikal dalam piksel untuk preset slide dan bounce: animasi fade-slide mulai 24px lebih rendah lalu meluncur naik, bounce memantul 24px ke atas dan kembali. Preset spin tidak menggunakannya.
Bisa, hasilnya CSS murni. Ganti ease dengan kata kunci easing apa pun atau nilai cubic-bezier(...), lalu tambahkan persentase antara seperti 25% atau 75% di dalam blok @keyframes untuk membentuk gerakan lebih lanjut.
Karena render ulang framework bisa menerapkan ulang kelasnya dan memulai ulang animasi. Gunakan animation-fill-mode: both (sudah ada di hasil) untuk mempertahankan keadaan akhir, atau pisahkan pemicu animasi dari elemen yang dirender ulang.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Penghitung FPS
Ukur FPS browser dengan requestAnimationFrame: penghalusan, frame rate minimum dan maksimum, ambang peringatan, dan grafik opsional. Berjalan lokal, tanpa unggahan dan tanpa API.
Generator Warna Acak
Buat 1 hingga 50 warna HEX acak dengan contoh warna yang bisa dipratinjau, disalin, dan dipakai di CSS, pengujian, atau eksplorasi palet.
Pemilih Warna HEX
Pilih atau masukkan warna HEX untuk mendapatkan RGB, HSL, perkiraan CMYK, luminans relatif, serta kontras terhadap putih dan hitam.