Tombol Shimmer
Komponen tombol cantik yang memancarkan pita cahaya (efek kilau) saat diarahkan dan berkala.
Merupakan komponen tombol cantik yang menarik perhatian dengan pita cahaya (efek kilau) yang mengalir saat melayang dan berkala. Ideal untuk CTA (Call To Action) di mana Anda ingin menarik perhatian pengguna.
Pratinjau
Kasus & Fitur Penggunaan
-
Meningkatkan rasio konversi: Gerakan visual memudahkan untuk menarik perhatian pengguna, menjadikannya sempurna untuk ajakan bertindak (CTA) penting seperti tombol pendaftaran dan pembelian.
-
Animasi Kecil: Memberikan kesan canggih dengan efek kilau (pantulan cahaya) berkala yang teratur dan tidak terlalu mencolok.
-
Interaksi mikro: Tombol akan dinaikkan sedikit saat mengarahkan kursor dan bayangan akan ditambahkan untuk menekankan bahwa itu adalah elemen yang dapat diklik.
Poin-poin penting dari desain dan UX (Desain & UX)
-
Kontras dan Visibilitas: Efeknya dipertegas dengan menjalankan pita cahaya terang dengan latar belakang gelap.
-
Performa: Animasi yang menggunakan
transformdanopacitymeminimalkan beban gambar di browser dan menghasilkan gerakan yang mulus. -
Aksesibilitas: Cincin fokus (
focus:ring) telah diatur dengan tepat sehingga status dapat dikomunikasikan secara visual bahkan dengan pengoperasian keyboard.
Cara menyesuaikan (Panduan Kustomisasi)
-
Ubah warna: Anda dapat menyesuaikan warna lampu dengan mengubah
rgba(255, 255, 255, 0.2)menjadi warna merek Anda (misalnyargba(59, 130, 246, 0.3)). -
Penyesuaian kecepatan animasi: Menyetel
3sdarianimation: shimmer-effect 3s infinite;ke2sakan membuatnya bergerak lebih cepat, dan menyetel5sakan membuatnya bergerak lebih lambat. -
Implementasi hanya dengan Tailwind: Dengan menambahkan
keyframesketailwind.config.js, implementasi dapat diselesaikan hanya dengan kelas utilitas Tailwind tanpa menggunakan kelas khusus.
Kode implementasi (Implementasi)
HTML & CSS (Tailwind CSS併用)
<button class="shimmer-btn text-slate-200 bg-slate-900 border border-slate-700/50 px-8 py-3 rounded-full font-medium transition-all duration-300 hover:-translate-y-1 hover:shadow-lg hover:shadow-slate-500/20 focus:outline-none focus:ring-2 focus:ring-slate-400 focus:ring-offset-2 focus:ring-offset-slate-950">
<span class="relative z-10 flex items-center gap-2">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" d="M13 10V3L4 14h7v7l9-11h-7z" />
</svg>
Get Started
</span>
</button>
<style>
.shimmer-btn {
position: relative;
overflow: hidden;
}
.shimmer-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 50%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.2),
transparent
);
transform: skewX(-20deg);
animation: shimmer 3s infinite;
}
@keyframes shimmer {
0% { left: -100%; }
20% { left: 200%; }
100% { left: 200%; }
}
</style> React (Konfigurasi Tailwind)
Ini adalah pendekatan yang dapat diselesaikan dalam komponen React dengan memperluas file konfigurasi Tailwind (tailwind.config.js).