vue 如何适配 web 夜间模式、暗黑模式、黑色主题 prefers-color-scheme: dark

news2025/1/16 1:33:37

vue 如何适配 web 夜间模式、暗黑模式、黑色主题 prefers-color-scheme: dark

请添加图片描述

一、暗黑模式越来越普遍

自苹果推出暗黑模式之后,Web 也有了对应的暗黑模式,默认情况下 Web 的暗黑模式是跟随系统的。
你只需要将暗黑模式的样式写到下面这样的媒体选择器中就可以了。

@media (prefers-color-scheme: dark) {
}

二、需求

比如有这样一个组件
在这里插入图片描述
我们要将它适配暗黑模式,当切换到暗色的时候也显示成暗色。

它的原来的样式是这样的:

.filter-list{
    background-color: $bg-highlight;
    padding: 20px 30px 20px;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid $color-border;
    .iphone-tag-list{
        @include border-radius(10px);
        max-width: 1440px;
        display: flex;
        justify-content: center;
        flex-flow: row wrap;
        padding: 10px;
        .iphone-tag{
            border: 1px solid $color-border;
            font-family: "Galvji", sans-serif;
            background-color: white;
            white-space: nowrap;
            margin-bottom: 5px;
            font-size: 13px;
            cursor: pointer;
            padding: 3px 8px;
            margin-right: 5px;
            line-height: 1.3;
            @include border-radius(3px);
            color: $text-main;
            &:hover{
                background-color: $bg-highlight;
            }
            &.active{
                background-color: #6a7282;
                border-color: transparent;
                color: white;
            }
        }
    }
}

三、实现

我平时使用的 scss 所以这里以 scss 说明过程

你需要在这个组件的 css 块中写这样的内容。
这里只需要修改它的颜色,所以我们只保留定义颜色的部分即可。


@media (prefers-color-scheme: dark) {
    .filter-list{
        border-bottom-color: $dark-border;
        background-color: $dark-bg;
        .iphone-tag-list{
            .iphone-tag{
                border-color: $dark-border;
                color: $dark-text;
                background-color: $dark-bg;
                &:hover{
                    background-color: $dark-bg-highlight;
                }
                &.active{
                }
            }
        }
    }
}

这样之后它就会变成:

在这里插入图片描述

四、效果

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/896828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu软件源、pip源大全,国内网站网址,阿里云、网易163、搜狐、华为、清华、北大、中科大、上交、山大、吉大、哈工大、兰大、北理、浙大

文章目录 一、企业镜像源1、阿里云2、网易1633、搜狐镜像4、华为 二:高校镜像源1、清华源2、北京大学3、中国科学技术大学源 (USTC)4、 上海交通大学5、山东大学6、 吉林大学开源镜像站7、 哈尔滨工业大学开源镜像站8、 西安交通大学软件镜像…

使用ChatGPT进行创意写作的缺点

Open AI警告ChatGPT的使用者要明白此工具的局限性,更不应完全依赖。作为一位创作者,这一点非常重要,应尽可能地避免让版权问题或不必要的文体问题出现在自己的作品中。[1] 毕竟使用ChatGPT进行创意写作目前还有以下种种局限或缺点[2]&#xf…

prompt工程(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 我准备想办法把这些东西整合到我的ScholarEase项目里。 其实以现在GPT-4的能力来说,直接就当日常对话随便直接说、直接问,基本没有太大的问题。 有时使用更复杂、详细、明确的prompt可能会起到提升作用。 有一些简单的…

Open cv C++安装

注意;要退出conda的虚拟环境 依赖 1.更新系统 sudo apt-get update sudo apt-get upgrade 2.安装相关的依赖 sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install libjpeg-de…

【组合数学】CF1312 D

Problem - 1312D - Codeforces 题意&#xff1a; 思路&#xff1a; Code&#xff1a; #include <bits/stdc.h>#define int long longusing i64 long long;constexpr int N 2e5 10; constexpr int M 2e5 10; constexpr int mod 998244353; constexpr int Inf 1e1…

小记std::unique_copy使用方法

因博主工作经验有限&#xff0c;只能通过有限的使用场景来介绍该特性 https://en.cppreference.com/w/cpp/algorithm/unique_copy 使用场景 将一些元素拷贝到另一个地方&#xff0c;可以定义重复的规则&#xff0c;拷贝出来之后是不带有连续相同元素的元素集合 如果需要使用…

azure VM完全复制

创建虚拟机&#xff0c;并创建linux服务&#xff0c;可以参考 https://blog.csdn.net/m0_48468018/article/details/132267096 &#xff0c; https://blog.csdn.net/m0_48468018/article/details/132267315在虚拟机中点击磁盘快照&#xff0c;创建磁盘快照 通过磁盘快照创建磁盘…

【LeetCode75】第三十二题 链表最大孪生和

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目让我们求出链表的最大孪生和&#xff0c;那么什么是孪生和呢&#xff0c;就是对称的节点就是孪生节点&#xff0c;他们的和就是孪生和。 比如第一个节点的孪生节点就是最后一个节点&#xff0c;第二个节点的孪生节点…

【Docker】已经创建好的Docker怎么设置开机自启

已经创建好的Docker怎么设置开机自启 1.使用命令Docker update来完成2.查看是否开启3.验证是否开启 1.使用命令Docker update来完成 操作步骤&#xff1a; docker update --restartalways 容器ID2.查看是否开启 docker inspect 容器Id看到这里RestartPolicy设置为如图&#…

Verilog 入门

Verilog 入门 本内容来自 牛客网Verilog入门特别版 1、一个没有输入和一个输出常数1的输出的电路&#xff0c;输出信号为one module top_module(one);output wire one;assign one 1b1; endmodule2、创建一个具有一个输入和一个输出的模块&#xff0c;其行为类似于电路上的连…

回归预测 | MATLAB实现FA-BP萤火虫算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现FA-BP萤火虫算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现FA-BP萤火虫算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程…

CRYPTO 密码学-笔记

一、古典密码学 1.替换法&#xff1a;用固定的信息&#xff0c;将原文替换成密文 替换法的加密方式&#xff1a;一种是单表替换&#xff0c;另一种是多表替换 单表替换&#xff1a;原文和密文使用同一张表 abcde---》sfdgh 多表替换&#xff1a;有多涨表&#xff0c;原文和密文…

安装jenkins-cli

1、要在 Linux 操作系统上安装 jcli curl -L https://github.com/jenkins-zh/jenkins-cli/releases/latest/download/jcli-linux-amd64.tar.gz|tar xzv sudo mv jcli /usr/local/bin/ 在用户根目录下&#xff0c;增加 jcli 的配置文件&#xff1a; jcli config gen -ifalse …

CPU 飙升问题排查

CPU 飙升问题排查 1.输入top查看各linux进程对系统资源的使用情况 2.输入top -H -p pid 通过此命令可以查看实际占用CPU最高的的线程的id&#xff0c;pid为刚才资源使用高的pid号 出现具体线程的资源使用情况&#xff0c;表格里的pid代表线程的id&#xff0c;我们称他为tid …

ubuntu 安装 postgresql以及 wal回滚

安装 sudo apt install postgresql postgresql-contrib设置远程连接 修改/etc/postgresql/12/main/postgresql.conf **将listen_addresses 改成 ***修改/etc/postgresql/12/main/pg_hba.conf 找到如下信息 #IPv4 local connections: 修改为 host all all 0.0.0.0/0 md5 重启…

生成式AI和大语言模型 Generative AI LLMs

在“使用大型语言模型(LLMs)的生成性AI”中&#xff0c;您将学习生成性AI的基本工作原理&#xff0c;以及如何在实际应用中部署它。 通过参加这门课程&#xff0c;您将学会&#xff1a; 深入了解生成性AI&#xff0c;描述基于LLM的典型生成性AI生命周期中的关键步骤&#xff…

opencv-yolov8-目标检测

import cv2 from ultralytics import YOLO# 模型加载权重model YOLO(yolov8n.pt)# 视频路径cap cv2.VideoCapture(0)# 对视频中检测到目标画框标出来 while cap.isOpened():# Read a frame from the videosuccess, frame cap.read()if success:# Run YOLOv8 inference on th…

opencv-疲劳检测-眨眼检测

#导入工具包 from scipy.spatial import distance as dist from collections import OrderedDict import numpy as np import argparse import time import dlib import cv2FACIAL_LANDMARKS_68_IDXS OrderedDict([("mouth", (48, 68)),("right_eyebrow",…

opencv-目标追踪

import argparse import time import cv2 import numpy as np# 配置参数 ap argparse.ArgumentParser() ap.add_argument("-v", "--video", typestr,help"path to input video file") ap.add_argument("-t", "--tracker", …

单发多框检测(SSD)【动手学深度学习】

单发多框检测模型主要由一个基础网络块和若干多尺度特征块串联而成。基本网络用于从输入图像中提取特征,可以使用深度卷积神经网络,原论文中选用了在分类层之前阶段的VGG,现在也常用ResNet替代。 我们可以设计基础网络,使它输出的高和宽较大,这样基于该特征图生成的锚框数…