Implementasi Dark Mode Otomatis di Tailwind CSS

By | 24 November 2025

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.