YaliEditor的主题风格的制作流程
YaliEditor的主题风格的制作流程
文章目录
- YaliEditor的主题风格的制作流程
- YaliEditor介绍
- 夜间模式
- 日间模式
- 主题切换的方法
- YaliEditor的主题风格实现
YaliEditor介绍
YaliEditor支持两种主题风格,一常规的light模式,一种是夜间模式。
YaliEditor是一款轻量级的实时渲染markdown编辑器,支持markdown纯代码模式,SV分屏模式,和IR实时渲染模式。支持图片导出和pdf和html导出的轻量级markdown编辑器。
项目地址WenyaoL/YaliEditor: 一个简易的实时渲染markdown编辑器 (github.com)
夜间模式
日间模式
主题切换的方法
在element-ui中就有主题功能了,让我们来分析一下,element-plus的主题功能是如何制作的。
暗黑模式 | Element Plus (element-plus.org)通过element-plus的方法,可以知道element-plus是通过在html上添加一个class进行主题切换的,其目的是为了引入一个夜间模式的变量表。
<html class="dark"><head></head><body></body>
</html>// main.ts
// 如果只想导入css变量
import 'element-plus/theme-chalk/dark/css-vars.css'
查看一下element-plus/theme-chalk/dark/css-vars.css
到底是什么内容,没错他就是一张变量表,定义了各种css变量,通过改变变量是值,从而改变组件的主题颜色
html.dark{color-scheme:dark;--el-color-primary:#409eff;--el-color-primary-light-3:#3375b9;--el-color-primary-light-5:#2a598a;--el-color-primary-light-7:#213d5b;--el-color-primary-light-8:#1d3043;--el-color-primary-light-9:#18222c;--el-color-primary-dark-2:#66b1ff;--el-color-success:#67c23a;--el-color-success-light-3:#4e8e2f;--el-color-success-light-5:#3e6b27;--el-color-success-light-7:#2d481f;--el-color-success-light-8:#25371c;--el-color-success-light-9:#1c2518;--el-color-success-dark-2:#85ce61;--el-color-warning:#e6a23c;--el-color-warning-light-3:#a77730;--el-color-warning-light-5:#7d5b28;--el-color-warning-light-7:#533f20;--el-color-warning-light-8:#3e301c;--el-color-warning-light-9:#292218;--el-color-warning-dark-2:#ebb563;--el-color-danger:#f56c6c;--el-color-danger-light-3:#b25252;--el-color-danger-light-5:#854040;--el-color-danger-light-7:#582e2e;--el-color-danger-light-8:#412626;--el-color-danger-light-9:#2b1d1d;--el-color-danger-dark-2:#f78989;--el-color-error:#f56c6c;--el-color-error-light-3:#b25252;--el-color-error-light-5:#854040;--el-color-error-light-7:#582e2e;--el-color-error-light-8:#412626;--el-color-error-light-9:#2b1d1d;--el-color-error-dark-2:#f78989;--el-color-info:#909399;--el-color-info-light-3:#6b6d71;--el-color-info-light-5:#525457;--el-color-info-light-7:#393a3c;--el-color-info-light-8:#2d2d2f;--el-color-info-light-9:#202121;--el-color-info-dark-2:#a6a9ad;--el-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, 0.36),0px 8px 20px rgba(0, 0, 0, 0.72);--el-box-shadow-light:0px 0px 12px rgba(0, 0, 0, 0.72);--el-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, 0.72);--el-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, 0.72),0px 12px 32px #000000,0px 8px 16px -8px #000000;--el-bg-color-page:#0a0a0a;--el-bg-color:#141414;--el-bg-color-overlay:#1d1e1f;--el-text-color-primary:#E5EAF3;--el-text-color-regular:#CFD3DC;--el-text-color-secondary:#A3A6AD;--el-text-color-placeholder:#8D9095;--el-text-color-disabled:#6C6E72;--el-border-color-darker:#636466;--el-border-color-dark:#58585B;--el-border-color:#4C4D4F;--el-border-color-light:#414243;--el-border-color-lighter:#363637;--el-border-color-extra-light:#2B2B2C;--el-fill-color-darker:#424243;--el-fill-color-dark:#39393A;--el-fill-color:#303030;--el-fill-color-light:#262727;--el-fill-color-lighter:#1D1D1D;--el-fill-color-extra-light:#191919;--el-fill-color-blank:transparent;--el-mask-color:rgba(0, 0, 0, 0.8);--el-mask-color-extra-light:rgba(0, 0, 0, 0.3)
}
html.dark .el-button{--el-button-disabled-text-color:rgba(255, 255, 255, 0.5)
}
html.dark .el-card{--el-card-bg-color:var(--el-bg-color-overlay)
}
html.dark .el-empty{--el-empty-fill-color-0:var(--el-color-black);--el-empty-fill-color-1:#4b4b52;--el-empty-fill-color-2:#36383d;--el-empty-fill-color-3:#1e1e20;--el-empty-fill-color-4:#262629;--el-empty-fill-color-5:#202124;--el-empty-fill-color-6:#212224;--el-empty-fill-color-7:#1b1c1f;--el-empty-fill-color-8:#1c1d1f;--el-empty-fill-color-9:#18181a
}
可以通过浏览器的开发者工具查看到组件引用的变量,从而通过达到通过添加样式从而切换主题的功能,只需要定义不同的变量表即可,然后再html标签上更改其class属性,就可以做到主题的切换功能。
YaliEditor的主题风格实现
现在我们只需要实现定义一种变量表,然后在YaliEditor的个个主键中引用该变量表的变量,当我们需要切换主题的时候,只需要更改HTML标签的class即可。
下面的为夜间模式下定义的CSS变量,通过CSS的var()
方法即可使用上下文中的变量,十分方便管理和做主题切换。
html.dark{--yali-background-color:#333333;--yali-text-color:#CFD3DC;--yali-md-focus-before-color:#C8C8C8;--yali-selection-color:#CFD3DC;--yali-selection-background-color:#4183C4;--yali-pre-background-color:#282C34;--yali-blockquote-color:#777777;--yali-blockquote-border-color:#409EFF;--yali-font-before-color:#C7C5C5;--yali-code-font-color:#e83e8c;--yali-code-font-background-color:#424243;--yali-code-font-border-color:#636466;--yali-bold-font-color:#e83e8c;--yali-underline-font-color:#e83e8c;--yali-italic-font-color:#e83e8c;--yali-deleteline-font-color:#e83e8c;--yali-outline-item-hover-background-color:#262727;--yali-scrollbar-thumb-background-color:#282C34;--yali-scrollbar-track-background-color:#333333;
}
YaliEditor的主题风格的制作流程相关推荐
- 制作数据可视化大屏时,可以不再使用千遍一律的主题风格
"马上年底了,项目快验收了是吧"同事小陈说道. 我激动的说:"是啊,这次验收了,能为公司带来很大的现金流,项目团队也能得到很大一笔分成!就是不知道能不能顺利完成.&quo ...
- 小程序发布上线流程_家居小程序傻瓜式制作流程
近几年"小程序+"成为很多服务和零售商家的选择,比如点餐小程序.电商购物小程序.家政预约小程序--借助于小程序的便捷性,很多传统行业商家获得了新的商机,家居行业也是如此. 传统家居 ...
- h5 登录页面_一份写给新手的微信H5页面制作流程介绍
作为一种非常受欢迎的营销推广方式,H5页面具有交互性好.易于传播.感官体验丰富.利于效果追踪等优势.由于H5页面的传播主阵地是微信,所以很多刚接触H5页面的新手经常误以为H5页面只能在微信中传播,也就 ...
- 网站制作流程及界面交互设计研究探讨
很多朋友希望,我能把我做网站的一些流程及经验跟大家分享一下,最近刚好做一次内部培训,所以稍微整理了一下,这些只是针对网页初学者,具有一定平面设计水平的人,对HTML不是很了解,这里有很多都是一些我个人 ...
- 网吧xp母盘制作流程+QQDLL+系统文件DLL修改
xp母盘制作流程+QQDLL+系统文件DLL修改 天下网盟论坛收集 1 分区: 40G ( C:4G D:3G E:3G F:30G) 80G (c:4 D:3 e:3 f:70) 2 安装操作系统: ...
- Android系统开发 默认壁纸的定制 主题风格的开发及定制 DDMS 常用adb 命令 抓取Log
Android系统开发 Android系统本身的功能在增加和完善过程中.在系统开发中如果涉及系统API的改动,则一定要慎重,系统的API的改动可能涉及Android应用程序的不 ...
- WEB的周期制作流程
目录: WEB的周期制作流程 UML辅助网站规划和设计指南 专业信息网站制作规范 网页制作规范及流程 网站技术规范 技术概念详解 网页设计的八种陋习 如何为网上广告做标题 网站规划书浅析 网站策划书参 ...
- 网站制作流程及界面交互设计
网站制作流程及界面交互设计研究探讨 作者的blog: http://www.onling.net/blog/ 很多朋友希望,我能把我做网站的一些流程及经验跟大家分享一下,最近刚好做一次内部培训,所以稍 ...
- 新媒体管理师:短视频制作流程
现在短视频市场非常火爆,一个短视频制作流程大致分为以下几个步骤: 步骤一:内容选择 自短视频发展至今,已经开始朝着垂直化.专业化的方向发展了.所以,当我们切入短视频的时候你第一个需要思考的是你要选择什 ...
最新文章
- padding和卷积的区别_池化、池化与卷积异同、zero-padding
- python正则表达式使用实例_正则表达式的基础知识,以及Python爬虫中的使用方法...
- linux基本项目环境搭建
- SQL Server表结构和数据导入到MySQL
- GridView 中设置某列,截取字符串加... 和 鼠标放上去字符全部显示
- 在安全模式下激活xp
- 3 django系列之Form表单在前端web界面渲染与入库保存
- 无偏移谷歌瓦片地址_[转]OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
- Ubuntu中打开.ipynb文件
- npm install cracoc 老版本_npmamp;nvmamp;nrmamp;yarn常用的命令和常见的手法
- Android——音乐播放器完善——进度条显示当前播放进度,加可拖动进度条(未待解决完问题)...
- Python统计磁盘代码文件行数
- python opencv 找到圆点标定板所有点后通过距离找四个角点
- PUN☀️一、基础配置、搭建大厅程序
- 如何将qrc文件添加至VS
- 基于深度学习的以图搜图
- 第三篇 ME909s-821设备描述符分析
- [网络] 数字签名和数字证书的原理机制
- 青岛理工大学计算机学院王德兴,现任领导
- CVX使用CVXQUAD替换CVX中的log、exp等函数