如何在浏览器上使用TailwindCSS强制暗模式?

k3fezbri  于 2023-03-05  发布在  其他
关注(0)|答案(2)|浏览(138)

我有一个website,使用TailwindCSS正确实现了暗/亮UI。
我想知道是否有一种方法可以强制网站在黑暗模式下加载,直到用户通过点击切换按钮专门切换到明亮模式。
为什么?因为我更喜欢网站在黑暗模式下的样子,但由于亮/暗主题已经正确实现,我宁愿保留它,并迫使它在黑暗模式下加载,尽管用户的浏览器设置。

soat7uwm

soat7uwm1#

请尝试以下操作
tailwind.config.css中,将darkMode设置为class

module.exports = {
  darkMode: 'class',
  // ...
}

当您需要darkMode时,只需在html标记中添加darkClassName

<html className="dark">
<body>
  <!-- Will be black -->
  <div className="bg-white dark:bg-black">
    <!-- ... -->
  </div>
</body>
</html>

当您需要light时,只需删除html标记内的darkClassName
希望能有所帮助!

wi3ka0sx

wi3ka0sx2#

我尝试了另一个答案中建议的将darkMode设置为tailwind.config.js文件中的class的方法,但是尽管采取了所有步骤,这对我来说还是不起作用。
在我的情况下,我需要在我的应用程序中强制黑暗模式是调整我的main.css(又名globals.css或任何其他你叫它)的媒体查询。

/* main.css */

@tailwind base;
@tailwind components;
@tailwind utilities;

/* All your tailwind definitions with @apply rules are here */

/* If the user prefers dark mode, 
we of course apply color-scheme: dark, as usual */
@media (prefers-color-scheme: dark) {
  html {
    color-scheme: dark;
  }
}

/* If the user prefers light mode, 
we still enforce color-scheme: dark, despite the user preference */
@media (prefers-color-scheme: light) {
  html {
    color-scheme: dark;
  }
}

就是这样,我不需要在我的tailwind.config.js或其他任何地方浪费时间。

相关问题