Back to Blog
November 20, 2025CSS 5 min read

Implementing Dark Mode with CSS Variables

Dark Mode

Why Dark Mode Matters

Dark mode reduces eye strain and saves battery on OLED screens. Here's how to implement it properly.

The CSS Variables Approach

Define your colors as CSS custom properties in :root, then override them for dark mode:

  • Use :root for light mode defaults
  • Use [data-theme="dark"] for dark overrides
  • Toggle with JavaScript
  • Save preference to localStorage

Respect System Preferences

Use prefers-color-scheme media query to detect user's system preference automatically.

Dark ModeCSSUXWeb Design
E Charan Kumar Reddy

E Charan Kumar Reddy

AI+ Prompt Engineer & Vibe Coder