tailwindcss暗色主题切换

globals.css:

增加一行代码:@custom-variant dark (&:where(.dark, .dark *));

css 复制代码
@import "tailwindcss";
@custom-variant dark (&:where(.dark, .dark *));

:root {
  --background: #ffffff;
  --foreground: #171717;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-geist-sans);
  --font-mono: var(--font-geist-mono);
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
  }
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}
javascript 复制代码
				<div>
					<div className="text-2xl font-medium">主题切换:</div>
					<div className="m-4">
						<Switch value={isDark} onChange={(e) => handleIsDarkChange(e)} />
					</div>
					<div className={isDark ? 'dark' : ''}>
						<div className="rounded-lg bg-white px-6 py-8 shadow-xl ring ring-gray-900/5 transition-all duration-500 dark:bg-gray-800">
							<h3 className="text-base font-medium tracking-tight text-gray-900 dark:text-white">
								Hello world
							</h3>
							<p className="mt-2 text-sm text-gray-500 dark:text-gray-400">Hello world</p>
						</div>
					</div>
				</div>

增加样式名dark后,会用自动应用上className中dark:后的样式

相关推荐
华玥作者1 小时前
[特殊字符] VitePress 对接 Algolia AI 问答(DocSearch + AI Search)完整实战(下)
前端·人工智能·ai
naruto_lnq1 小时前
分布式系统安全通信
开发语言·c++·算法
Mr Xu_2 小时前
告别冗长 switch-case:Vue 项目中基于映射表的优雅路由数据匹配方案
前端·javascript·vue.js
前端摸鱼匠2 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
学嵌入式的小杨同学2 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
sleeppingfrog2 小时前
zebra通过zpl语言实现中文打印(二)
javascript
lang201509282 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
Re.不晚2 小时前
Java入门17——异常
java·开发语言
精彩极了吧2 小时前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
好家伙VCC3 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc