0
0
Tailwindmarkup~5 mins

Media-based dark mode strategy in Tailwind

Choose your learning style9 modes available
Introduction

Dark mode helps reduce eye strain in low light. Media-based dark mode changes the website style automatically based on user preference.

You want your website to match the user's system dark or light mode.
You want to improve readability at night or in dark environments.
You want to offer a better user experience without asking users to toggle a switch.
You want to follow modern design trends that respect user settings.
Syntax
Tailwind
@media (prefers-color-scheme: dark) {
  /* CSS rules for dark mode here */
}

This CSS media query detects if the user prefers dark mode.

Tailwind uses the dark: variant to apply styles in dark mode.

Examples
This CSS changes background and text color when dark mode is preferred.
Tailwind
@media (prefers-color-scheme: dark) {
  body {
    background-color: #111;
    color: #eee;
  }
}
This tells Tailwind to use media-based dark mode automatically.
Tailwind
/* Tailwind config example */
module.exports = {
  darkMode: 'media',
  // other config
}
This HTML uses Tailwind classes to switch background and text colors based on dark mode.
Tailwind
<div class="bg-white dark:bg-gray-900 text-black dark:text-white">
  Hello, dark mode!
</div>
Sample Program

This example uses Tailwind CSS with media-based dark mode. The background and text colors change automatically if your system is set to dark mode.

Tailwind
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Media-based Dark Mode Example</title>
  <script>
    tailwind.config = {
      darkMode: 'media'
    };
  </script>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-white dark:bg-gray-900 text-black dark:text-white min-h-screen flex items-center justify-center">
  <main class="text-center p-6 rounded-lg shadow-lg">
    <h1 class="text-3xl font-bold mb-4">Welcome to Dark Mode</h1>
    <p class="text-lg">This page changes colors based on your system preference.</p>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Test dark mode by changing your system or browser color scheme settings.

Use semantic HTML and good contrast colors for accessibility.

Tailwind's darkMode: 'media' is easy to set up and requires no JavaScript toggles.

Summary

Media-based dark mode uses CSS to detect user preference automatically.

Tailwind supports this with darkMode: 'media' in its config.

Use dark: prefix in Tailwind classes to style dark mode elements.