Generator Animasi CSS
Menulis @keyframes dari nol itu membosankan: Anda memilih persentase, menebak properti, memuat ulang, mengamati, menyesuaikan. Generator ini menyediakan enam animasi siap pakai (fade, slide up, bounce, spin, pulse, dan shake) serta memungkinkan Anda mengatur nama animasi, durasi, easing, jumlah perulangan, dan arah. Hasilnya diputar waktu nyata, dan setelah Anda puas, salin blok @keyframes yang dihasilkan dan properti singkat animation.
Cara membuat animasi CSS
-
1
Pilih preset
Pilih salah satu dari enam animasi bawaan: fade, slide up, bounce, spin, pulse, atau shake.
-
2
Beri nama animasi
Beri keyframes pengenal CSS yang valid, misalnya `cardIn` atau `fadeIn`. Nama yang sama dipakai pada properti singkat `animation`.
-
3
Atur waktu dan pengulangan
Durasi dalam detik, easing (ease, ease-in, ease-out, ease-in-out, linear, atau spring), jumlah perulangan (1, 2, 3, atau infinite), dan arah (normal, reverse, alternate, atau alternate-reverse).
-
4
Salin CSS
Aturan `@keyframes` yang dihasilkan dan properti singkat `animation:` siap ditempel ke stylesheet Anda.
Anatomi animasi
@keyframes slide-in {
0% { transform: translateX(-100%); opacity: 0; }
60% { transform: translateX(10%); opacity: 1; }
100% { transform: translateX(0); opacity: 1; }
}
.card {
animation: slide-in 400ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
Delapan properti pada properti singkat: animation-name duration timing-function delay iteration-count direction fill-mode play-state.
Pilihan easing
Generator ini menawarkan enam fungsi easing:
| Easing | cubic-bezier() | Kesan |
|---|---|---|
| linear | n/a | Kecepatan konstan |
| ease-in | 0.42, 0, 1, 1 |
Mulai lambat, akhir cepat |
| ease-out | 0, 0, 0.58, 1 |
Mulai cepat, akhir lambat |
| ease-in-out | 0.42, 0, 0.58, 1 |
Lambat-cepat-lambat |
| ease (bawaan) | 0.25, 0.1, 0.25, 1 |
Bawaan yang halus |
| spring | 0.68, -0.55, 0.27, 1.55 |
Melewati target lalu tenang |
Animasikan properti yang tepat
Browser dapat menganimasikan properti apa pun, tetapi hanya sedikit yang berjalan mulus di GPU tanpa memicu layout atau paint:
Murah (komposit saja): transform, opacity, filter.
Mahal (layout/paint): width, height, top, left, margin, padding, background-color.
Animasi enam puluh frame per detik pada width dan top mungkin untuk elemen kecil, tetapi akan patah-patah di ponsel jika banyak yang dianimasikan sekaligus. Untuk gerakan kompleks, selalu utamakan transform: translate(...) daripada top / left, dan transform: scale(...) daripada lebar/tinggi yang dianimasikan.
will-change: gunakan secukupnya
Memberi tahu browser untuk menyiapkan lapisan komposit lebih dulu dapat membantu kelancaran:
.card { will-change: transform; }
Tetapi ini memakan memori. Terapkan tepat sebelum animasi dipicu dan hapus setelah selesai. Menetapkan will-change: transform secara permanen pada banyak elemen bisa lebih merugikan daripada menguntungkan.
Mengurangi gerakan
Sebagian pengguna sensitif terhadap gerakan dan mengatur preferensi sistem:
@media (prefers-reduced-motion: reduce) {
.card {
animation: none;
}
}
Hormati pengaturan ini. Sediakan perubahan status instan atau fade yang sangat halus sebagai pengganti.
Pertanyaan yang Sering Diajukan
CSS untuk gerakan sederhana, deklaratif, dan sekali pakai. Web Animations API (element.animate()) untuk pengaturan waktu berbasis JavaScript, keyframes dinamis, jeda, dan kontrol pemutaran. Keduanya berjalan di kompositor; tidak ada yang secara inheren lebih cepat.
Hampir selalu karena Anda menganimasikan properti pemicu layout (width, top, margin) alih-alih transform. Ganti ke translate() dan scale(), dan sentakan biasanya hilang.
Bisa. animation: a 1s, b 1s 1s, c 1s 2s; menjalankan tiga animasi berurutan melalui penundaan yang digeser. Generator ini menghasilkan satu animasi, jadi tambahkan entri ekstra pada properti singkatnya sendiri. Untuk koreografi yang lebih kompleks, gunakan Web Animations API atau pustaka seperti GSAP.
Ia membuat elemen mengambil status from sebelum animasi dimulai (selama penundaan) dan mempertahankan status to setelah animasi berakhir. Tanpa both, elemen kembali ke gaya sebelum animasi saat animasi selesai. Generator menjaga properti singkat tetap minimal, jadi tambahkan fill mode sendiri jika diperlukan.
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.
Alat ini tersedia dalam bahasa lain
- CSS Animasyon Oluşturucu [TR]
- Generator animacji CSS [PL]
- CSS-animatiegenerator [NL]
- CSSアニメーション生成ツール [JA]
- Gerador de Animação CSS [PT]
- CSS 动画生成器 [ZH]
- CSS Animation Generator [EN]
- CSS-Animationsgenerator [DE]
- CSS-animationsgenerator [SV]
- Générateur d'animation CSS [FR]
- مولّد CSS Animation [AR]
- ตัวสร้าง CSS Animation [TH]
- Generador de Animaciones CSS [ES]
- Trình tạo animation CSS [VI]
- CSS 애니메이션 생성기 [KO]
- Generatore di animazioni CSS [IT]
- Генератор CSS-анимации [RU]