我正在使用T3堆栈开发一个新项目,我希望能够在亮暗模式之间切换。但是,只有文本颜色发生了变化,背景总是设置为系统的首选项。
如果我将浏览器主题设置为浅色,则背景为浅色,如果我将浏览器主题设置为深色,则背景为深色。当设置了其中一个主题时,我在Web应用程序中切换浅色和深色主题,文本颜色会发生变化,但背景保持不变。
除了documentation中描述的元素之外,是否有一个特定的类需要设置为某个元素,以便主题在亮和暗之间正确切换?
换句话说,bg-base-100
和bg-base-content
等CSS类是否动态设置为正确的颜色,或者我是否必须显式设置应用中每个元素的颜色?
编辑
这是同一个站点的Google Chrome(左)和Firefox(右)的并排表示,背景发生了变化,因为我在内容容器元素中添加了bg-slate-100 text-slate-800 dark:bg-slate-800 dark:text-slate-100
。
请注意工具栏(即navbar bg-neutral text-neutral-content
)和表格(即table table-compact
)如何不更改背景颜色,但正确应用了文本颜色。
第一节第一节第一节第一节第一次
2条答案
按热度按时间u59ebvdq1#
您需要在UI中有一个按钮,该按钮带有一个单击事件侦听器,用于向组件添加
dark
类或从中删除dark
类。样本代码:
文档链接:https://tailwindcss.com/docs/dark-mode
x759pob22#
我的主题切换功能就像in the documentation找到的一样,也就是:
但是,我正在使用DaisyUI,所以我错过了this part:
换句话说,
data-theme
HTML属性。修改applyTheme
函数以:让它工作。