当前位置: 首页 > news >正文

主题切换方案

方案一

CSS :root 选择器匹配文档的根元素。在 HTML 文档中,根元素就是 <html> 标签

1、定义颜色变量

可在公共样式文件里面定义

:root {--primary-color: #007bff;  //定义颜色变量
}

2、使用 JavaScript 修改 CSS 变量

document.documentElement.style.setProperty('--primary-color', '#ff0000');

3、使用

页面的样式引用

.bgcolor{background: var(--primary-color);
}

方案二

1、利用body标签添加class类名

document.body.className = "classname"

或者

document.body.classList.add('my-class')

方案一方案二结合使用 

通过 :root 定义不同主题的颜色、字体等变量,然后利用 JavaScript 动态修改 :root 中变量的值,可以轻松实现网站的主题切换功能。例如,定义一个浅色主题和一个深色主题的变量

:root {--text-color: #333;--background-color: #f8f9fa;
}.dark-theme {--text-color: #f8f9fa;--background-color: #333;
}

在 JavaScript 中,通过添加或移除 dark - theme 类来切换主题:

const body = document.body;
const themeToggle = document.getElementById('theme-toggle');themeToggle.addEventListener('click', () => {body.classList.toggle('dark - theme');
});

响应式布局参考:

:root {--font-size-base: 16px;--margin - base: 10px;
}@media (min - width: 768px) {:root {--font - size - base: 18px;--margin - base: 20px;}
}@media (min - width: 1024px) {:root {--font - size - base: 20px;--margin - base: 30px;}
}
http://www.dtcms.com/a/190572.html

相关文章:

  • 智能手表项目风险评估与应对计划书
  • Linux程序设计--期末复习
  • 【ROS2】报错记录及对应解决方案
  • matlab提取脑电数据的五种频域特征指标数值
  • Jmeter元件 CSV Data Set Config详解
  • Python笔记:c++内嵌python,c++主窗口如何传递给脚本中的QDialog,使用的是pybind11
  • Java 框架配置自动化:告别冗长的 XML 与 YAML 文件
  • [Linux] vim及gcc工具
  • 本地部署小红书FireRedASR
  • Vue百日学习计划Day4-8——Gemini版
  • 基于javaweb的SpringBoot自习室预约系统设计与实现(源码+文档+部署讲解)
  • 算法题(146):最大子段和
  • Pass-the-Hash攻击原理与防御实战指南
  • Python × CARLA:如何在自动驾驶仿真世界里打造智能驾驶系统?
  • ElasticSearch深入解析(十二):聚合——分桶聚合、指标聚合、管道子聚合
  • 歌词滚动效果
  • Docker镜像操作全攻略:从查看、拉取到删除
  • Stable Diffusion WebUI 插件大全:功能详解与下载地址
  • 命令行快速上传文件到SFTP服务器(附参考示例)
  • 配置Spark环境
  • 从规则驱动到深度学习:自然语言生成的进化之路
  • 人机环境体系的自主决策与机器系统的自主决策不同
  • 3337. 字符串转换后的长度 II
  • 微服务商城(1)开篇、服务划分
  • LLM(大语言模型)部署加速方法——PagedAttention
  • 【第六课】ESP32-S3 BLE 与 WiFi 一体化通信示例
  • 从0开始学linux韦东山教程第三章问题小结(4)
  • 内存分配器ptmalloc2、tcmalloc、jemalloc,结构设计、内存分配过程详解
  • fiftyone-数据库配置和config与app_config配置文件
  • 耐压击穿测试的原理、流程及应用领域