![]() |
| Logo CSS. Sumber: colorlib.com |
Cara Membuat Animasi dengan CSS
Website modern tidak hanya menampilkan informasi dalam bentuk teks dan gambar statis. Banyak pengguna kini menginginkan pengalaman interaktif yang lebih hidup. Salah satu cara untuk memberikan kesan tersebut adalah dengan menambahkan animasi.
Animasi dalam web berfungsi untuk membuat pergerakan atau perubahan tampilan elemen HTML agar lebih menarik. Dengan animasi, tombol dapat berubah warna secara halus, teks bisa berkedip, gambar bisa bergerak, bahkan ikon loading bisa berputar. Semua ini bisa dibuat tanpa bantuan Javascript, cukup dengan menggunakan CSS (Cascading Style Sheets).
CSS Animation adalah salah satu fitur penting dalam CSS yang memungkinkan developer membuat animasi sederhana maupun kompleks dengan kode yang relatif singkat. Artikel ini akan membahas pengertian, dasar-dasar, hingga contoh implementasi animasi dengan CSS secara lengkap dan mudah dipahami.
Pengertian Animasi CSS
Animasi CSS adalah teknik untuk memberikan efek pergerakan atau perubahan visual pada elemen HTML dengan memanfaatkan properti CSS. Animasi ini dapat berjalan otomatis, berulang, maupun dipicu oleh aksi pengguna, misalnya saat elemen di hover.
Dalam CSS, ada tiga konsep utama yang harus dipahami untuk membuat animasi, yaitu:
1. Transition
Transition adalah fitur CSS yang membuat perubahan pada elemen menjadi lebih halus. Animasi dengan transition biasanya hanya terjadi saat ada perubahan keadaan (state), misalnya tombol berubah warna saat diarahkan kursok.
Contoh:
button {
background-color: blue;
transition: background-color 0.5s;
}
button:hover {
background-color: green;
}
Penjelasan:
- Tombol awalnya berwarna biru
- Saat di-hover, warnanya akan berubah menjadi hijau
- transition membuat perubahan warna berlangsung halus selama 0,5 detik
2. @keyframes
@keyframes adalah aturan CSS yang digunakan untuk mendefinisikan tahapan animasi. Dengan keyframes, kita dapat mengatur kondisi awal, tengah, dan akhir animasi dalam bentul persentase (%).
Contoh:
@keyframes gerak {
0% {left: 0;}
100% {left: 200px;}
}
Penjelsan:
- 0% menunjukan posisi awal elemennya
- 100% menunjukan pisisi akhir elemennya
- Elemen yang menggunakan animasi ini akan bergerak dari kiri 0px ke 200px
3. Animation
animation adalah properti yang digunakan untuk menghubungkan elemen dengan keyframes yang sudah dibuat. Di dalamnya, kita bisa mengatur nama animasi, durasi, jumlah pengulangan, arah, hingga kecepatan animasi.
Contoh:
button {
position: relative;
animation: gerak 2s infinite alternate;
}
Penjelasan:
- gerak adalah nama dari animasi kerframes yang didefinisakan sebelumnya
- 2s artinya animasi tersebut akan berjalan selama 2 detik
- infinite berarti animasi akan berjalan terus menerus tanpa berhenti
- alternate membuat animasi bolak-balik dari awal ke akhir, lalu kembali dari akhir ke awal
Mengapa Animasi CSS Penting?
Ada beberapa alasan mengapa animasi CSS penting digunakan dalam desain web modern.
- Meningkatkan interaktivitas - Animasi membuat perngguna lebih tertarik berinteraksi dengan elemen website. Misalnya, tombol yang membesar saat di-hover memberi kesan responsif,
- Memberikan feedback visual - Dengan animasi, pengguna tahu bahwa akse yang mereka lakukan berhasil. Contoh: animasi loading memberi tahu pengguna bahwa data sedang diproses.
- Memperoleh tampilan - Website dengan animasi terlihat lebih profesional dan modern dibandingkan yang hanya statis.
- Tidak membutuhkan Javascript - Semua efek dapat dibuat hanya dengan CSS, sehingga lebih ringan dan sederhana.
Dasar Animasi dengan CSS
a. Animasi dengan Transition
Transition cocok digunakan untuk perubahan gaya yang sederhana. Misalnya, perubahan warna, ukuran, atau posisi saat di-hover.
Contoh: Tombol berubah warna dan ukuran
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contoh</title>
<style>
.btn {
background-color: #3498db;
color: white;
padding: 12px 24px;
border: none;
border-radius: 8px;
cursor: pointer;
transition: background-color 0.5s, transform 0.3s;
}
.btn:hover{
background-color: #2ecc71;
transform: scale(1.1);
}
</style>
</head>
<body>
<button class="btn">Ini Hover</button>
</body>
</html>
b. Animasi dengan @keyframes dan Animation
Keyframes digunakan untuk membuat animasi yang lebih kompleks.
Contoh: Kotak bergerak dari kiri ke kanan
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contoh</title>
<style>
.box {
width: 100px;
height: 100px;
background: #e74c3c;
position: relative;
animation: gerak 3s infinite alternate;
}
@keyframes gerak {
0% {left: 0;}
100% {left: 200px;}
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
Properti Penting dalam Animasi CSS
Berikut adalah beberapa properti animasi yang sering digunakan:
- animation-name: Nama animasi sesuai keyframes
- animation-duration: Lama waktu animasi (misalnya 3s)
- animation-delay: Waktu tunda sebelum animasi dimulai
- animation-iteration-count: Jumlah pengulangan (misal 1, 3, infinite)
- animation-direction: Arah animasi (normal, reverse, alternate)
- animation-timing-function: Kecepatan animasi (linear, ease-in, ease-out, in-ease-out)
Animasi CSS adalah cara mudah dan efektif untuk membuat website lebih manarik dan interaktif. Dengan memahami tiga konsep utama yaitu transition, keyframes, dan animation, kita bisa membuat berbagai efek animasi mulai dari yang sederhana hingga komples.
Penggunaan animasi yang tepat dapat mempercantik tampilan website, memberikan feedback visual kepada pengguna, dan meningkatkan pengalaman mereka secara keseluruhan. Namun, animasi juga harus digunakan secara bijak agar tidak memperlambat performa website atau mengganggu kenyamanan pengguna.
Dengan dasar ini, Anda dapat mulai berkreasi membuat animasi sendiri sesuai kebutuhan proyel web yang sedang Anda bangun.

Posting Komentar