Main Menu

Belajar Tailwind CSS Dasar #13: Transisi & Animasi


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar Tailwind CSS Dasar #13: Transisi & Animasi

Halo teman-teman semuanya, setelah kita mempelajari fitur dark mode di Tailwind CSS, kini saatnya kita masuk ke pembahasan yang akan membuat antarmuka kita terasa lebih hidup dan interaktif, yaitu tentang transisi dan animasi.

Dengan Tailwind CSS, kita tidak perlu menulis keyframe atau property CSS satu per satu. Cukup gunakan beberapa utility class, dan efek interaktif yang menarik bisa langsung tercipta.

1. Transisi Dasar

Untuk membuat transisi yang halus saat elemen berubah (seperti warna, ukuran, atau posisi), kita bisa menggunakan class berikut:

Class Fungsi
transition Menambahkan efek transisi default
transition-all Transisi semua properti yang berubah
transition-colors Transisi hanya pada perubahan warna
transition-opacity Transisi hanya pada perubahan transparansi
transition-transform Transisi perubahan transformasi (seperti scale, rotate)

Contoh:

<button class="bg-blue-600 text-white px-4 py-2 rounded transition-colors hover:bg-blue-800">
  Hover Saya
</button>

2. Durasi dan Timing

Untuk mengatur kecepatan transisi dan jenis timing-nya, gunakan class berikut:

Class Fungsi
duration-150duration-1000 Menentukan durasi dalam milidetik
ease-in Transisi mulai lambat
ease-out Transisi di akhir melambat
ease-in-out Transisi awal dan akhir halus
delay-75delay-1000 Menunda efek transisi (dalam milidetik)

Contoh:

<div class="bg-gray-200 p-4 rounded transition-all duration-500 ease-in-out hover:scale-110">
  Arahkan kursor untuk zoom
</div>

3. Efek Transformasi

Untuk membuat elemen berubah bentuk atau posisi saat di-hover, kita bisa menggunakan transformasi:

Class Fungsi
hover:scale-105 Membesarkan elemen sedikit
hover:rotate-6 Memutar elemen saat hover
hover:translate-x-2 Geser elemen ke kanan
hover:skew-y-3 Memiringkan elemen vertikal

Contoh:

<img src="gambar.jpg" class="w-32 transition-transform duration-300 hover:rotate-6 hover:scale-110" />

4. Opacity dan Visibility

Tailwind juga menyediakan utilitas untuk mengatur tampilan elemen berdasarkan transparansi:

Class Fungsi
opacity-0 Sepenuhnya transparan
opacity-100 Sepenuhnya terlihat
hover:opacity-75 Transparansi saat hover

5. Animasi Bawaan

Tailwind menyediakan beberapa animasi bawaan sederhana:

Class Fungsi
animate-spin Memutar seperti loading spinner
animate-ping Efek gelombang seperti radar
animate-pulse Berkedip pelan (seperti loading)
animate-bounce Melompat naik turun

Contoh:

<div class="w-4 h-4 bg-blue-500 rounded-full animate-ping"></div>

Contoh Lengkap: Kartu Interaktif

<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <title>Transisi & Animasi Tailwind</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-gray-100 p-6">
  <div class="max-w-sm mx-auto bg-white rounded-lg shadow-md overflow-hidden transition-transform hover:scale-105 duration-300">
    <img src="https://via.placeholder.com/400x200" alt="Gambar" class="w-full h-48 object-cover">
    <div class="p-4">
      <h2 class="text-xl font-bold text-gray-800 mb-2">Kartu Animasi</h2>
      <p class="text-gray-600 mb-4">Kartu ini akan membesar saat diarahkan kursor dan membuat efek transisi halus.</p>
      <button class="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-800 transition-colors">
        Aksi
      </button>
    </div>
  </div>
</body>
</html>

Kesimpulan

Tailwind CSS menyediakan berbagai class untuk membuat animasi dan transisi tanpa perlu menulis CSS manual. Kita cukup menggabungkan class seperti transition, duration, ease, dan hover: untuk menciptakan efek visual yang menarik dan responsif.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami