切换主题操作

简介: 切换主题操作

切换主题操作


  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>

相关文章
|
编解码 自然语言处理 开发者
复刻Sora有多难?一张图带你读懂Sora的技术路径
OpenAI发布了视频生成模型Sora,最大的Sora模型能够生成一分钟的高保真视频。同时OpenAI称,可扩展的视频生成模型,是构建物理世界通用模拟器的一条可能的路径。
|
缓存 编解码 弹性计算
阿里云服务器e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae实例适用场景汇总
目前阿里云活动购买云服务器时,除了轻量应用服务器之外,活动内的云服务器实例规格主要以e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae这几种为主,本文主要为大家介绍了阿里云服务器的实例规格是什么,有什么用?并汇总了阿里云轻量应用服务器和阿里云服务器e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae实例规格适用场景,以供大家了解和选择适合自己的需求的实例规格。
阿里云服务器e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae实例适用场景汇总
|
存储 数据可视化 Serverless
使用蒙特卡罗模拟的投资组合优化
在金融市场中,优化投资组合对于实现风险与回报之间的预期平衡至关重要。蒙特卡罗模拟提供了一个强大的工具来评估不同的资产配置策略及其在不确定市场条件下的潜在结果。
654 1
|
10月前
|
机器学习/深度学习 算法 计算机视觉
《深度学习案例实战》新书出版——基于阿里魔搭平台
《深度学习案例实战》是一本实用的指南,涵盖多个领域的深度学习应用案例。本书旨在通过具体的案例讲解,阐述典型深度学习算法在图像分类、声音识别、语义分割、目标检测等各个领域的广泛应用。本书所涵盖的典型案例包括太阳黑子分类、气象预测、食物声音分类、智能厨房、智能冰箱食材检测、集体照人脸识别、遛狗绳识别、智能售药机药品检测、道路裂纹检测、学生教室行为检测等。这些案例旨在通过实际问题的解决,使读者能够深入理解深度学习算法的应用和实践。 本书特别关注两个关键技术:低代码开发平台摩搭ModelScope和深度学习加速器OpenVINO。摩搭平台为读者提供了一个便捷的开发环境,借助其丰富的预训练模型库和开发平
351 2
《深度学习案例实战》新书出版——基于阿里魔搭平台
|
11月前
|
缓存 NoSQL 关系型数据库
mysql和缓存一致性问题
本文介绍了五种常见的MySQL与Redis数据同步方法:1. 双写一致性,2. 延迟双删策略,3. 订阅发布模式(使用消息队列),4. 基于事件的缓存更新,5. 缓存预热。每种方法的实现步骤、优缺点均有详细说明。
403 3
|
机器学习/深度学习 算法 机器人
|
11月前
|
监控 负载均衡 网络协议
OSPF在大型网络中的应用:高效路由与可扩展性
OSPF在大型网络中的应用:高效路由与可扩展性
718 1
|
Oracle 关系型数据库 MySQL
OceanBase数据库简介
【8月更文挑战第9天】OceanBase数据库简介
1184 60
spring-mvc里Controller中model.addAttribute报红(错误记录日志)
spring-mvc里Controller中model.addAttribute报红(错误记录日志)
|
12月前
|
SQL 数据处理 数据库
SQL语句优化与查询结果优化:提升数据库性能的实战技巧
在数据库管理和应用中,SQL语句的编写和查询结果的优化是提升数据库性能的关键环节
1097 0