Six Levels of Dark Mode (2024)

https://cssence.com/2024/six-levels-of-dark-mode/

Article

  • Outlines a progression from basic CSS dark mode to fully adaptive theming.
  • Covers prefers-color-scheme, color-scheme, light-dark(), and JS-driven overrides.
  • Advocates for a tri-state toggle: system / light / dark.
  • Shows how to persist user preference without a flash-of-wrong-theme.

Discussion

  • Commenter proposes cleaner vocabulary: palette → luminance mode → theme, not used interchangeably.
  • CSS light-dark() criticized as inextensible vs. a hypothetical themed() function with named modes.
  • Browsers actually download all conditional CSS files regardless of match — common misconception noted.
  • Article counts 6 levels; one commenter points out there are actually 8.

Discuss on HN


Type Link
Added Apr 21, 2026
Modified Apr 21, 2026