Implementasi Dark Mode Tailwind menjadi salah satu teknik modern untuk meningkatkan kenyamanan pengguna saat menjelajahi website. Dengan memanfaatkan dark: variant dan pengaturan preferensi sistem, mode gelap kini dapat diaktifkan secara otomatis tanpa interaksi manual dari pengguna. Tailwind CSS menyediakan mekanisme bawaan yang sangat fleksibel sehingga pengembang dapat menciptakan tampilan yang konsisten, estetis, sekaligus ramah aksesibilitas. Mode gelap bukan lagi fitur tambahan, tetapi sudah menjadi standar desain modern. Banyak pengguna kini mengatur perangkat mereka pada preferensi sistem “dark” dan berharap website yang mereka kunjungi menyesuaikan tampilan secara otomatis. Itulah sebabnya implementasi dark mode kini sangat penting, terutama bagi website profesional, dashboard admin, blog teknologi, hingga aplikasi web skala besar.
Pada tutorial ini, kita akan membahas berbagai cara mengaktifkan dark mode otomatis, konfigurasi pada Tailwind CSS, contoh implementasi, serta bagaimana membuat elemen-elemen UI seperti navbar, card, hingga tombol terlihat rapi dalam mode gelap. Pembahasan juga mencakup tips optimasi aksesibilitas, kontras warna, hingga pengelolaan preferensi manual jika dibutuhkan.
Mengenal Mode Gelap di Tailwind CSS
Tailwind CSS mendukung dark mode melalui dua pendekatan:
1. Media Query (default: media)
Mode gelap berdasarkan pengaturan sistem pengguna. Jika OS diatur ke dark mode, website otomatis ikut berubah.
2. Class-Based (class)
Mode gelap diaktifkan secara manual dengan menambahkan class dark pada HTML.
Metode ini memungkinkan toggle dark mode menggunakan JavaScript.
Karena pada artikel ini fokusnya adalah dark mode otomatis, maka kita akan menggunakan opsi media.
Mengaktifkan Dark Mode Otomatis di Tailwind
Tailwind secara default sudah mengaktifkan dark mode berbasis media query. Namun untuk memastikan config rapi, tambahkan:
tailwind.config.js
module.exports = {
darkMode: 'media', // otomatis mengikuti preferensi sistem
content: ["./index.html", "./src/**/*.{js,html}"],
theme: {
extend: {},
},
plugins: [],
}
Dengan konfigurasi ini, Tailwind akan membaca preferensi pengguna:
-
Jika perangkat menggunakan Light Mode → website terang
-
Jika perangkat menggunakan Dark Mode → website gelap otomatis
Tidak perlu menambahkan class apa pun, cukup gunakan variant dark: pada styling.
Cara Menggunakan dark: Variant
Tailwind memperkenalkan prefix dark: untuk menambahkan styling tertentu ketika mode gelap aktif.
Contoh dasar:
<div class="bg-white text-gray-800 dark:bg-gray-900 dark:text-gray-100 p-4 rounded-lg"> Mode otomatis mengikuti sistem pengguna. </div>
Pada mode terang → background putih
Pada mode gelap → background abu gelap
Variant ini bisa digunakan untuk:
-
Background
-
Text
-
Border
-
Shadow
-
Hover effect
-
Ring
-
Placeholder
-
Dan berbagai utilitas lainnya
Contoh Implementasi Dark Mode pada Layout Sederhana
Navbar Responsif
<nav class="bg-white dark:bg-gray-900 shadow dark:shadow-gray-800">
<div class="max-w-7xl mx-auto px-4 py-3 flex justify-between">
<h1 class="text-lg font-semibold text-gray-900 dark:text-gray-100">MyWebsite</h1>
<ul class="flex gap-4">
<li><a class="text-gray-700 dark:text-gray-300 hover:text-blue-500" href="#">Home</a></li>
<li><a class="text-gray-700 dark:text-gray-300 hover:text-blue-500" href="#">Blog</a></li>
<li><a class="text-gray-700 dark:text-gray-300 hover:text-blue-500" href="#">Contact</a></li>
</ul>
</div>
</nav>
Navbar akan otomatis berubah saat mode gelap aktif.
Transisi warna bisa ditambahkan agar lebih smooth:
<nav class="transition-colors duration-300 ...">
Card Responsif dengan Tema Gelap Otomatis
Card sering digunakan untuk menampilkan konten ringkas seperti produk, artikel, atau statistik dashboard.
<div class="max-w-sm mx-auto mt-6 p-4 bg-white dark:bg-gray-800 rounded-xl shadow hover:shadow-lg transition">
<h2 class="text-xl font-bold text-gray-900 dark:text-gray-100">Judul Card</h2>
<p class="text-gray-700 dark:text-gray-300 mt-2">
Card ini mendukung perubahan otomatis mengikuti dark mode dari sistem.
</p>
<button class="mt-4 px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600">
Selengkapnya
</button>
</div>
Ciri desain modern:
-
shadow halus
-
transisi hover
-
sudut membulat (rounded-xl)
-
warna teks menyesuaikan mode
Tombol dengan Efek Hover dan Focus dalam Mode Gelap
Dark mode harus tetap memperhatikan accessibility, terutama kontras warna.
<button class="px-5 py-2 rounded-lg bg-gray-900 text-white hover:bg-gray-700 focus:ring-2 focus:ring-blue-500 dark:bg-gray-100 dark:text-gray-900 dark:hover:bg-gray-200 transition"> Aksi </button>
Pada mode gelap:
-
tombol cerah → teks gelap
-
hover lebih gelap sedikit
-
tetap punya focus ring untuk aksesibilitas
Tips Penting Mengoptimalkan Dark Mode Tailwind
1. Gunakan Warna Netral Tailwind
Warna seperti gray, slate, neutral, dan zinc sangat fleksibel untuk mode terang maupun gelap.
2. Hindari Warna Terlalu Gelap
Misal bg-black bisa terlalu kontras.
Lebih baik gunakan:
-
bg-gray-900 -
bg-slate-900
3. Tambahkan Transisi Visual
Agar perpindahan antar mode lebih halus:
* {
transition: background-color .3s, color .3s;
}
4. Gunakan Shadow dan Border Ringan
Dalam mode gelap, shadow terlalu kuat dapat menghilang.
Gunakan:
-
shadow-md dark:shadow-gray-800 -
border dark:border-gray-700
5. Pastikan Kontras Tetap Baik
Gunakan alat pengecek kontras seperti:
-
WebAIM Contrast Checker
-
Chrome DevTools Accessibility Checker
Dark mode harus tetap nyaman dibaca di ruangan gelap maupun terang.
Menggabungkan Dark Mode Otomatis + Toggle Manual (Opsional)
Jika ingin pengguna tetap bisa memilih mode manual, Anda dapat menggabungkannya dengan darkMode: 'class'.
Namun karena tutorial ini fokus pada mode otomatis, pembahasan toggle hanya opsional.
Kesimpulan
Implementasi Dark Mode Tailwind memberikan fleksibilitas luar biasa dalam menciptakan tampilan modern, responsif, dan nyaman digunakan. Dengan memanfaatkan dark: variant dan preferensi sistem, Anda dapat membuat website yang otomatis menyesuaikan tampilan tanpa menggunakan JavaScript tambahan.
Tailwind CSS menyederhanakan seluruh proses, mulai dari navbar, button, card, modal, hingga layout suatu dashboard. Dengan kombinasi warna yang tepat, aksesibilitas yang baik, dan penggunaan class yang efisien, mode gelap dapat menjadi elemen desain yang elegan dan profesional.
Jika Anda ingin desain web terlihat lebih modern dan adaptif pada semua perangkat, menerapkan mode gelap otomatis dengan Tailwind adalah langkah yang sangat direkomendasikan.