切换主题操作

简介: 切换主题操作

切换主题操作


  1. 承载主题属性的元素
  2. CSS变量
  3. 属性选择器
  4. 切换主题属性的开关


解释:

属性选择器使不同属性值时拥有不同的类,类中定义每个主题的CSS变量,其他类中使用这个变量当作值。

<!doctype html>
<html lang="en" theme="light">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport"
      content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
      html[theme='light']{
        --backgroundColor:white;
        --textColor:black;
      }
      :root[theme='dark']{
        --backgroundColor:black;
        --textColor:white;
      }
      body{
        background:var(--backgroundColor);
        color:var(--textColor);
        transition:.3s;
      }
    </style>
  </head>
  <body>
    <h1>切换主题模式</h1>
    <br>
    <button>切换</button>
  </body>
  <script>
    document.querySelector('button').onclick=()=>{
      let theme = document.querySelector('html').attributes.theme;
      switch (theme.value) {
        case 'light':
          theme.value = 'dark';
          break;
        case 'dark':
          theme.value = 'light';
          break;
      }
    }
  </script>
</html>

相关文章
|
6月前
|
JavaScript 数据安全/隐私保护
自动切换背景的登录页面
自动切换背景的登录页面
46 0
|
6月前
|
C# C++
关于VS主题的切换方法以及主题推荐
关于VS主题的切换方法以及主题推荐
79 0
|
5月前
|
开发工具 git
大事件项目42---怎么区分,发布还是草稿,下拉菜单的触发时机
大事件项目42---怎么区分,发布还是草稿,下拉菜单的触发时机
|
4月前
|
前端开发
Typora使用技巧3 —— 查看默认主题、新增自定义主题
Typora使用技巧3 —— 查看默认主题、新增自定义主题
196 0
|
6月前
|
移动开发
移动端H5不能自由选中文本进行复制的问题
移动端H5不能自由选中文本进行复制的问题
187 0
b站如何一次性把up主全部取消关注,让自己去学习
b站如何一次性把up主全部取消关注,让自己去学习
|
数据库
多主复制的适用场景(2)-需离线操作的客户端和协作编辑
3.1.2 需离线操作的客户端 应用在断网后仍需继续工作。 如手机、PC和其他设备上的日历应用。无论设备当前是否连网,都需随时查看
76 0
|
缓存 容器
uniapp 中实现主题色配置切换
uniapp 中实现主题色配置切换
uniapp 中实现主题色配置切换
|
前端开发
前端工作小结87-点击tab执行切换
前端工作小结87-点击tab执行切换
88 0
前端工作小结87-点击tab执行切换
|
Android开发
【Android 性能优化】应用启动优化 ( 主题背景图片设置 | 设置透明主题背景 | 设置应用启动主题背景、启动后恢复主题 )
【Android 性能优化】应用启动优化 ( 主题背景图片设置 | 设置透明主题背景 | 设置应用启动主题背景、启动后恢复主题 )
397 0