Sharing CSS Tanpa JavaScript Part 1 — Kinetic Caption: Satu Kata Satu Spotlight
Eksperimen animasi teks kinetic caption hanya menggunakan CSS murni tanpa bantuan JavaScript. Efek spotlight kata per kata dengan keyframes dan timing function presisi.
Seringkali kita langsung tergoda menggunakan library animasi JavaScript berat seperti GSAP hanya untuk membuat efek teks bertahap (kinetic typography). Padahal, fitur modern CSS sudah lebih dari cukup untuk menghasilkan animasi caption yang mulus dan hemat performa.
Di sesi video pendek ini, saya menunjukkan bagaimana membuat efek Kinetic Caption dengan teknik satu kata satu spotlight secara 100% menggunakan CSS murni.
Timestamp Video
- 00:00 — Konsep satu kata satu spotlight untuk kinetic caption
- 00:10 — Salin kode CSS & pasang ke HTML di code editor
- 00:52 — Demo hasil animasi running spotlight teks
- 01:04 — Eksperimen live parameter animasi di CSSKit playground
Konsep Dasar
Trik utama ada pada pemisahan kata ke dalam tag <span> dengan custom property CSS (variabel --delay) yang diatur bertingkat:
<p class="kinetic-caption">
<span style="--i: 0;">Satu</span>
<span style="--i: 1;">kata</span>
<span style="--i: 2;">satu</span>
<span style="--i: 3;">spotlight.</span>
</p>
.kinetic-caption span {
display: inline-block;
opacity: 0.25;
filter: blur(2px);
transform: translateY(4px);
animation: spotlight 2.4s infinite ease-in-out;
animation-delay: calc(var(--i) * 0.4s);
}
@keyframes spotlight {
0%, 100% {
opacity: 0.25;
filter: blur(2px);
transform: translateY(4px);
color: var(--text-muted);
}
30%, 60% {
opacity: 1;
filter: blur(0px);
transform: translateY(0);
color: var(--color-tech-blue);
text-shadow: 0 0 16px rgba(0, 175, 255, 0.6);
}
}
Mengapa Pilih CSS Murni?
- Nol Overhead JavaScript: Tidak ada thread komputasi browser yang terbebani oleh requestAnimationFrame atau library pihak ketiga.
- GPU Accelerated: Properti
transformdanopacityotomatis di-offload ke compositing layer GPU browser. - Responsive & Mobile Friendly: Tidak membuat frame drop pada perangkat mobile berspesifikasi rendah.
Tonton demonstrasi visualnya di video player di atas!
You might also like
CSS Only Day 5: Wave Bar — Efek Gelombang Loading Bar Tanpa JS
Eksperimen CSS animation wave bar murni tanpa JavaScript. Membuat visual efek audio waveform dan gelombang loading fluida dengan CSS keyframes.
CSS Only Day 3: Orbit Dots — Animasi Orbit Partikel Memutar Murni CSS
Eksperimen animasi orbit melingkar (Orbit Dots) untuk loading spinner dan visual atomik menggunakan transform rotate dan CSS custom property berjenjang.
CSS Only Day 2: Gradient Text — Efek Teks Gradien Animasi Tanpa JavaScript
Eksperimen animasi teks gradien berkilau (Gradient Text) murni CSS menggunakan teknik background-clip: text dan animasi background-position linier.
Trending Posts
Tutorial Saweria Donasi + OBS Studio untuk Live Streaming — Bedah Setup Lengkap
Kado Ulang Tahun Interaktif: Pixel Art 8-Bit Side Scrolling Website
Monorepo Patterns for Full-Stack: What Actually Works
Digimon World 3 Randomizer: Pengaturan, Patching, dan Emulator
The Golden Era of PS1 JRPGs Nostalgic Soundtrack Mix — Final Fantasy VII, Chrono Cross & Xenogears
ADHD Focus Soundtrack: Retro RPG Lofi Beats untuk Coding & Deep Work
Enjoyed This Post?
Want to discuss the topic, have questions, or looking to collaborate on something similar? Drop a comment below or reach out directly.
