IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 项目中暗黑适配的想法 -> 正文阅读

[开发工具]项目中暗黑适配的想法

暗黑模式适配

在vue项目中

一开始没有下面这套最新方案的时候,我们在每个需要适配暗黑模式的页面都得根据媒体查询写适配,现在,只要和设计师商量好,我们使用对应的变量即可。

之前方案:
.inputNumber {
    padding: 0.28rem 0.2rem 0;
    .input {
        margin-top: 0.4rem;
        .tip {
            height: 0.2rem;
            line-height: 0.2rem;
            font-size: 0.14rem;
            font-weight: 300;
            color: #333333;
        }
		}
}
@media (prefers-color-scheme: dark) and (max-device-width: 1024px) {
    .inputNumber {
        .input {
            .tip {
                color: @dark_e5e;
            }
      }
  }
}
最新方案:

Index.vue

<script>
/* eslint-disable no-new */

export default {
    data() {
        return {
            darkTheme: false,
        };
    },
    watch: {
        darkTheme(newV) {
            const obj = document.querySelector('html');
            if (newV) {
                obj.setAttribute('theme', 'dark');
            } else {
                obj.removeAttribute('theme');
            }
        },
    },
    created() {
        this.darkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
    },
};
</script>

index.less

:root {
  --_333: #333333;
  --_aaa: #AAAAAA;
  --_c7c: #C7C7C7;
  --_fff: #ffffff;
}
:root[theme="dark"] {
  --_333: #e5e5e5;
  --_aaa: #999999;
  --_c7c: #595959;
  --_fff: #222225;
}

页面组件中使用.vue

.pre {
    position: relative;
    color: var(--_333);
    &::after {
        position: absolute;
        right: -0.1rem;
        top: 50%;
        transform: translateY(-50%);
        content: "";
        border-top-color: var(--_aaa);
    }
}

但上面这种也还有一些问题

比如,设计师可能需要微调,对应的暗黑颜色需要调整,那么,就不能直接使用这个变量了

或者原来这个页面不需要适配暗黑,所以我们都是直接写的颜色值,但是突然要适配了,我们还得找对应的变量。

所以,还有一个想法,就是些vscode的插件,当我们从蓝湖上复制的颜色值到vscode的时候,有对应的变量提供给我们,提示是否替换,这样,我们开发的工作量就会少很多很多。

vscode插件开发

安装

默认你已经安装了Node.jsGit

npm install -g yo generator-code

**tips:**如果安装不上,看提示,可能是node版本不支持,可以下载更新的node版本

创建

yo code

然后根据提示创建项目

# ? What type of extension do you want to create? New Extension (TypeScript)
# ? What's the name of your extension? HelloWorld
### Press <Enter> to choose default for all options below ###

# ? What's the identifier of your extension? helloworld
# ? What's the description of your extension? LEAVE BLANK
# ? Initialize a git repository? Yes
# ? Bundle the source code with webpack? No
# ? Which package manager to use? npm

然后进入你创建的项目中

在编辑器按F5,将会打开一个新的vscode,如果提示你

tips:

Extension is not compatible with Code 1.56.0. Extension requires: ^1.58.0.

你需要更新你的vscode版本,在左下角找到??,然后找到Check For Updates,然后自动升级,

**tips:**如果提示没法升级

Cannot update while running on a read-only volume. The application is on a read-only volume. Please move the application and try again. If you're on macOS Sierra or later, you'll need to move the application out of the Downloads directory. This might mean the application was put on quarantine by macOS. See this link for more information.

需要将你的app从下载那移到应用程序 (github解决方案:https://github.com/microsoft/vscode/issues/7426)

升级完后,再次找到这个地方,然后点击Restart for Update,自动重启vscode!

image.png

重新进入你的项目,按F5,在新vscode窗口中 ( ??P )运行Hello Workld命令

image.png
然后有提示出来就行了

image.png

思路:

首先得要看都有啥场景可以转换:

  • 直接输入
  • 粘贴
  • 选中值

需要有一个设置文件,当遇到什么颜色值,可以直接替换成var(–color)对应的变量

需要适配的颜色格式

  • #333333
  • #333
  • rgba(255,255,255,0)
  • rgb(255,255,255)
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 11:00:04  更:2021-08-02 11:00:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 13:18:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码