Dark mode sekarang bukan cuma gaya β tapi sudah jadi standar UX modern.
Website besar seperti:
- YouTube
- GitHub
semuanya punya fitur dark mode.
Di artikel ini kita akan membuat:
β
Toggle Dark Mode
β
Smooth animation
β
Preferensi tersimpan (walau di-refresh)
β
Auto-detect sistem user
β
Tanpa framework
Dan ini bisa langsung kamu pakai di Laravel, HTML biasa, atau project kampus.
π― Hasil Akhir
Fitur yang akan kita buat:
- Tombol toggle βοΈ / π
- Mode otomatis mengikuti sistem
- Disimpan di browser (localStorage)
- Transisi halus
π οΈ PRACTICAL STEP-BY-STEP
STEP 1 β Struktur HTML Dasar
Buat file HTML:


STEP 2 β CSS Styling Modern
Buat style.css:


STEP 3 β JavaScript Inti (Otak Sistem)
Buat script.js:


π‘ Penjelasan Kenapa Ini Professional
- Menggunakan CSS Variable β scalable
- Tidak hardcode warna
- Auto detect sistem
- Persist data dengan localStorage
- Clean separation HTML, CSS, JS
Ini bukan sekadar toggle biasa β ini standar production.
π Upgrade Level (Untuk Project Laravel Kamu)
Kalau kamu pakai Laravel:
Letakkan tombol di layouts/app.blade.php
<button id="theme-toggle">π</button>
Tambahkan script di bagian bawah layout.
π₯ Versi Lebih Advance
Kalau mau lebih gila lagi kamu bisa:
- Simpan preferensi di database user
- Animasi icon pakai SVG
- Tambahkan smooth fade background
- Buat sistem multi-theme (Blue, Purple, Dark)
π Kesimpulan
Dengan Β±30 baris kode:
Kamu sudah punya sistem yang setara dengan:
- GitHub
Dan ini bisa langsung kamu pakai di:
- Website portfolio
- Project Laravel kamu
- Landing page bisnis
- Atau aplikasi web kampus