css dark theme & js theme checker

live demo

https://codepen.io/xgqfrms/pen/GRprYLm

<!DOCTYPE html>
<html lang="zh-Hans" ️amp>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="author" content="xgqfrms">
<meta name="generator" content="VS code">
<title>css dark theme</title>
<!-- css -->
</head>
<body data-theme="css-theme-flag">
<header>
<h1 class="header-h1"></h1>
</header>
<footer>
<p>copyright&copy; xgqfrms 2020</p>
</footer>
<!-- js -->
</body>
</html>
:root {
--mode: 'unknown';
--lightColor: #000;
--darkColor: #fff;
--lightBackground: #fff;
--darkBackground: #000;
} @media (prefers-color-scheme: light) {
/* 浅色主题 */
:root {
--mode: 'light';
--colorLink: #34538b;
--colorMark: #cc0000;
--colorText: #000000;
--colorLight: #cccccc;
}
[data-theme="css-theme-flag"] {
background: var(--lightBackground);
color: var(--darkColor);
// flag: "light";
content: "light";
}
} @media (prefers-color-scheme: dark) {
/* 暗黑模式 */
:root {
--mode: 'dark';
--colorLink: #bfdbff;
--colorMark: #cc0000;
--colorText: #ffffff;
--colorLight: #777777;
}
[data-theme="css-theme-flag"] {
background: var(--darkBackground);
color: var(--darkColor);
// flag: "dark";
content: "dark";
}
} pre{
color: #0f0;
}
/**
*
* @author xgqfrms
* @license MIT
* @copyright xgqfrms
* @created 2020-04-23
* @modified
*
* @description css dark theme & js theme checker
* @augments
* @example
* @link https://www.cnblogs.com/xgqfrms/p/12764741.html
*
*/ const log = console.log; const body = document.querySelector(`[data-theme="css-theme-flag"]`);
const h1 = document.querySelector(`h1`); const color = window.getComputedStyle(body, null).color;
// log(`body color`, color); const theme = window.getComputedStyle(body, null).content;
log(`body theme`, theme); if(theme === `"dark"`) {
h1.innerText = `css dark theme`;
} else {
h1.innerText = `css light theme`;
}

https://www.cnblogs.com/xgqfrms/p/10059410.html

wx dark theme

@media (prefers-color-scheme: dark) {
.js_darkmode__0 {
color: rgb(167, 167, 167) !important;
} .js_darkmode__1 {
color: rgb(167, 167, 167) !important;
} .js_darkmode__2 {
color: rgb(167, 167, 167) !important;
} .js_darkmode__3 {
color: rgb(167, 167, 167) !important;
} .js_darkmode__4 {
color: rgb(167, 167, 167) !important;
} .js_darkmode__5 {
color: rgb(167, 167, 167) !important;
} .js_darkmode__6 {
color: rgb(167, 167, 167) !important;
}
}
@media (prefers-color-scheme: dark) {
.js_darkmode__7 {
color: rgb(167, 167, 167) !important;
} .js_darkmode__31 {
background: rgb(192, 190, 183) !important;
} .js_darkmode__37 {
color: rgb(167, 167, 167) !important;
} }
@media (prefers-color-scheme: dark) {
body:not([data-weui-theme='light']) {
--weui-BG-COLOR-ACTIVE: #282828;
}
} @media (prefers-color-scheme: dark) {
body:not([data-weui-theme='light']) {
--weui-BG-0: #191919;
--weui-BG-1: #1f1f1f;
--weui-BG-2: #232323;
--weui-BG-3: #2f2f2f;
--weui-BG-4: #606060;
--weui-BG-5: #2c2c2c;
--weui-FG-0: rgba(255,255,255,0.8);
--weui-FG-HALF: rgba(255,255,255,0.6);
--weui-FG-1: rgba(255,255,255,0.5);
--weui-FG-2: rgba(255,255,255,0.3);
--weui-FG-3: rgba(255,255,255,0.05);
--weui-RED: #fa5151;
--weui-ORANGE: #c87d2f;
--weui-YELLOW: #cc9c00;
--weui-GREEN: #74a800;
--weui-LIGHTGREEN: #28b561;
--weui-BRAND: #07c160;
--weui-BLUE: #10aeff;
--weui-INDIGO: #1196ff;
--weui-PURPLE: #8183ff;
--weui-WHITE: rgba(255,255,255,0.8);
--weui-LINK: #7d90a9;
--weui-TEXTGREEN: #259c5c;
--weui-FG: white;
--weui-BG: black;
--weui-TAG-TEXT-ORANGE: rgba(250,157,59,0.6);
--weui-TAG-BACKGROUND-ORANGE: rgba(250,157,59,0.1);
--weui-TAG-TEXT-GREEN: rgba(6,174,86,0.6);
--weui-TAG-BACKGROUND-GREEN: rgba(6,174,86,0.1);
--weui-TAG-TEXT-BLUE: rgba(16,174,255,0.6);
--weui-TAG-BACKGROUND-BLUE: rgba(16,174,255,0.1);
--weui-TAG-TEXT-BLACK: rgba(255,255,255,0.5);
--weui-TAG-BACKGROUND-BLACK: rgba(255,255,255,0.05);
}
}


xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


css dark theme & js theme checker的更多相关文章

  1. switchable css dark theme in js & html custom element

    switchable css dark theme in js & html custom element dark theme / dark mode https://codepen.io/ ...

  2. CSS Dark Mode

    CSS Dark Mode https://kevq.uk/automatic-dark-mode/ https://kevq.uk/how-to-add-css-dark-mode-to-a-web ...

  3. AmazeUI(妹子UI)中CSS组件、JS插件、Web组件的区别

    AmazeUI(妹子UI)是非常优秀的国产前端UI,现在来介绍一下AmazeUI中CSS组件.JS插件与Web组件的区别. CSS组件顾名思义就是仅使用CSS渲染而成的组件,而JS插件也很容易理解,就 ...

  4. amazeui中css组件、js组件、web组件的区别

    amazeui中css组件.js组件.web组件的区别 一.总结 一句话总结: 1.可直接像调用js插件那样调用:在AmazeUI(妹子UI)中,Web组件可以不编写模板而直接使用,若如此,则与JS插 ...

  5. 报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.

    学习 Activity 生命周期时希望通过 Dialog 主题测试 onPause() 和 onStop() 的区别,点击按钮跳转 Activity 时报错: E/AndroidRuntime: FA ...

  6. Android You need to use a Theme.AppCompat theme (or descendant) with this activity.

    错误描述为:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with ...

  7. You need to use a Theme.AppCompat theme (or descendant) with this activity解决方法

    报错如下:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test2/com.exampl ...

  8. You need to use a Theme.AppCompat theme

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dji.sdk.sample/com.dji.sdk.sa ...

  9. jquery,js引入css文件,js引入头尾

    jquery,js引入css文件,js引入头尾 今天在项目中,需要把20多个页面加上头和尾部,头和尾是我写的,所以小师傅把这个工作交给我了. 我开始往里面加,先引入common.css,在body开始 ...

随机推荐

  1. 从零开始学Java (三)基础语法

    1. 基本数据类型 整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolean java最小单位是bit,一个byte占用8个 ...

  2. luogu p3369

    题目描述您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入x数删除x数(若有多个相同的数,因只删除一个)查询x数的排名(排名定义为比当前数小的数的个数+1.若有多个相同 ...

  3. MySQL的索引为什么用B+Tree?InnDB的数据存储文件和MyISAM的有何不同?

    前言 这篇文章的题目,是我真实在面试过程中遇到的问题,某互联网众筹公司在考察面试者MySQL相关知识的第一个问题,我当时还是比较懵的,没想到这年轻人不讲武德,不按套路出牌,一般的问MySQL的相关知识 ...

  4. 六:Spring Security 中使用 JWT

    Spring Security 中使用 JWT 1.无状态登录 1.1 什么是有状态? 1.2 什么是无状态 1.3 如何实现无状态 2.JWT 2.1 JWT数据格式 2.2 JWT交互流程 2.3 ...

  5. Spark使用Java、Scala 读取mysql、json、csv数据以及写入操作

    Spark使用Java读取mysql数据和保存数据到mysql 一.pom.xml 二.spark代码 2.1 Java方式 2.2 Scala方式 三.写入数据到mysql中 四.DataFrame ...

  6. Git基本概念,流程,分支,标签及常用命令

    Git基本概念,流程,分支,标签及常用命令 Git一张图 Git基本概念 仓库(Repository) 分支(Branch) Git工作流程 Git分支管理(branch) 列出分支 删除分支 分支合 ...

  7. Linux slabtop命令——显示内核片缓存信息

    Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存.现代Linux内核部署了该缓存分配器以持有缓存,称之为片.不同类型的片缓存由片分配器维护. slabt ...

  8. sql,关键字使用

    select instr('dds万','万',1) from dual --判断万关键字是否存在 select to_single_byte('9') from dual --全角数字转为半角数字 ...

  9. UML——部署图

    一.What 概念: 1.部署图:用来展示所开发系统的硬件配置和组成.软件布局的一个网络拓扑结构图. 2.组成元素:节点.连接.(补充:处理器.设备.节点属性和操作) 2.1节点(Node):是一个物 ...

  10. Sublime text之中文乱码超简单解决方案

    很多玩程序的小伙伴,刚开始使用Sublime Text神器软件时,都会遇到打开一个程序文件,里面的中文编程乱码,不知道怎么办,网上也有很多不同解决方案,这里小编跟大家分享一个超简单的办法. 打开文档后 ...