:root{--font-color:brown;--按钮颜色:黄色;}:root[data-theme=theme2]{--字体颜色:蓝色;--按钮颜色:绿色;}欢迎来到我的公众号锐谈获取我的最新文章:1.前言本文将介绍Web前端主题切换的几种常见解决方案。示例代码基于React框架。废话少说,上代码!2.场景一:预定义主题这种场景比较常见的是预定义light和dark两种主题,有两种实现方式。方案一:CSS属性覆盖该方案利用css多层样式的精准匹配,通过样式覆盖实现主题切换。首先需要在应用的根元素中设置一个class,在切换主题时为class赋值对应。下面以theme1/theme2为例。h2{color:brown;}button{background-color:yellow;}.theme2h2{color:blue;}.theme2button{background-color:green;}import'./combine.css';exportdefaultfunctionApp(){const[主题,setTheme]=useState('theme1');return(//切换应用程序根元素的类{theme}
{setTheme(theme=>{if(theme==='theme1')return'theme2';return'theme1'})}}>切换主题