Animasi dengan @keyframes

Membuat animasi bergerak otomatis memakai @keyframes dan properti animation: durasi, pengulangan, arah, dan jeda; plus contoh loading dan efek muncul.

Part 20 dari 25 ± 40 menit Gratis

Transition vs Animation

TransitionAnimation (@keyframes)
PemicuPerlu perubahan keadaan (hover, class)Bisa jalan sendiri saat halaman dimuat
LangkahAwal → akhirBanyak tahap di tengah
PengulanganTidakBisa berulang tak terhingga

Dua langkah: definisikan lalu pakai

1. Definisikan animasi dengan @keyframes (beri nama):

@keyframes muncul {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

2. Pakai pada elemen:

.kartu {
  animation: muncul 0.6s ease-out;
}

Banyak tahap dengan persen

@keyframes denyut {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.15); }
  100% { transform: scale(1); }
}
.jantung { animation: denyut 1s infinite; }

Properti animation

PropertiFungsiContoh
animation-nameNama @keyframesdenyut
animation-durationLama satu putaran1s
animation-timing-functionIramaease-in-out, linear
animation-delayTunda mulai0.5s
animation-iteration-countBerapa kali3, infinite
animation-directionArahnormal, alternate (bolak-balik)
animation-fill-modeKeadaan sebelum/sesudahforwards (tahan keadaan akhir)

Singkatan: animation: nama durasi irama tunda jumlah arah fill;

Contoh: pemuat (spinner)

.spinner {
  width: 40px; height: 40px;
  border: 4px solid #ddd;
  border-top-color: #3c5a44;
  border-radius: 50%;
  animation: putar 0.8s linear infinite;
}
@keyframes putar {
  to { transform: rotate(360deg); }
}

Menahan keadaan akhir

Setelah animasi selesai, elemen kembali ke gaya aslinya. Agar tetap di posisi akhir, tambahkan animation-fill-mode: forwards.

Animasi yang bagus itu halus dan bertujuan (menarik perhatian, memberi umpan balik), bukan sekadar pamer. Jangan membuat banyak elemen bergerak bersamaan terus-menerus.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X