4、css定制
css定制
目录
[toc]
个人定制css原则
- 橙黄色主色调,简约美观
自定义typora主题
参考链接
https://developer.mozilla.org/en-US/
主题配置原则
- 尽量以护眼绿为主,要注意色调搭配。
- 要简洁,不要太花,要以文字为重点。
主题名称命名原则
typora主题命名规则
typora-theme-主题名称_版本号
例子:
typora-theme-xx_v1.0
个人喜欢命名如下:
后来-2022.9.2【荐】.css
添加自定义 CSS
参考链接
https://support.typoraio.cn/Add-Custom-CSS/
提示:此功能需要 Windows 上的 Typora 高于 0.9.12 或 macOS 上的 0.9.9.5.1。
打开主题文件夹
要在 Finder/Explorer 中打开 Typora 的主题文件夹,请在外观部分打开首选项面板,单击“打开主题文件夹”按钮。在“外观”部分下。
您可以在此处添加自定义主题。如果您想查找、安装或编写主题,请参阅关于主题页面。
但是您可能只想修改 CSS,例如更改字体或增加书写区域,并将其应用于所有主题或仅当前主题,而无需编写全新的主题文件。本节向您展示如何执行此操作。
定制typora主题css文件
使用typora的时候,想要自定义一些颜色、字体,或者修改一些设置,这个时候需要修改或者自己编写css文件。
打开文件 - 偏好设置 - 外观 - 打开主题文件夹,选择你自己的主题名.css(默认是 Github.css),在最后插入 CSS 代码,保存退出,再次打开typora文件即可;
将自定义 CSS 附加到所有主题或其他主题
Typora 将按以下顺序加载 CSS 文件:
- Typora 的基本风格
- 当前主题的 CSS
- base.user.css在主题文件夹下
{current-theme}.user.css
在主题文件夹下。
如果它们不存在,您可以在主题文件夹下创建base.user.css和。{current-theme}.user.css
(1)如果要更改 CSS 样式并将其应用于所有主题,则应修改base.user.css并附加自己的 CSS,因此无论选择什么主题,您的 CSS 样式仍将被加载和应用。
(2)如果您想为特定主题修改一些 CSS ,例如“Newsprint”,您可以创建newsprint.user.css并附加您想要的 CSS。
我们不建议您直接修改主题文件的原因是:
- 安装 Typora 后可用的默认主题也可能会更新。如果发生这种情况,那么新版本只会替换主题文件夹下的现有版本,您的修改将丢失。
- 其他人开发的主题将来也可能会更改。如果他们改变了他们的 CSS 文件,你可以用你的旧文件替换他们的新文件,而不用担心你的修改会消失。
(如果你自己写 CSS 主题,那么直接修改就可以了。)
注意:文件名区分大小写。{current-theme}in{current-theme}.user.css
必须与当前主题的文件名部分相同。例如,“GitHub”主题的 CSS 文件是github.css,所以文件名部分是“github”而不是“Github”。
😂 哈哈:自己的话,直接修改.css主题就完事儿了。
如下:
后来-2022.9.5【荐】.css
调试CSS
您可以打开 Chrome/Safari DevTools 来调试元素样式。
- 在 macOS 上,您可以检查Help->Enable Debug菜单项,然后右键单击 Typora 的混合编辑视图中的任意位置,然后从上下文菜单中单击“检查元素”。
- View在 Windows/Linux 上,您可以从->Toggle DevTools菜单项打开 DevTools 。
常用样式定制
代码块
范例:仿mac图标(暗黑)
- 效果
- 代码
/* ----------------------------------------- 代码块 --------------------------------------- */
/* 代码块顶栏 */
.md-fences {
padding-top: 30px;
background-color: var(--code-top-background-color);
border: var(--code-border);
border-radius: var(--code-border-radius);
}
.md-fences::before {
position: absolute;
left: 10px;
top: 8px;
content: '';
width: 15px;
height: 15px;
border-radius: 50%;
background: rgb(252, 98, 93);
box-shadow: 25px 0px rgb(253, 188, 64),
50px 0px rgb(53, 205, 75);
}
/* 代码块主体 */
.cm-s-inner.CodeMirror {
margin: 0px;
padding: 6px;
font-family: var(--code-font-family);
font-size: var(--code-font-size);
font-weight: var(--code-font-weight);
color: var(--code-color);
background-color: var(--code-body-background-color);
border-top: 1px solid var(--code-body-border-top-color);
border-bottom-left-radius: var(--code-border-radius);
border-bottom-right-radius: var(--code-border-radius);
}
/* 代码块行号 */
.cm-s-inner .CodeMirror-linenumber {
color: var(--code-linenum-color);
font-weight: var(--code-linenum-font-weight);
}
/* 代码块光标 */
#write .CodeMirror-cursors .CodeMirror-cursor {
border-left: var(--code-cursor-border);
}
/* 行号与代码分割线 */
.CodeMirror-wrap .CodeMirror-code pre {
border-left: var(--code-divided-line-border);
}
/* 代码语言输入框 */
.md-fences .code-tooltip{
padding: 0px;
background-color: var(--code-inputbox-color);
}
.code-tooltip .ty-input{
border: var(--code-inputbox-border);
}
.code-tooltip .ty-input:focus{
border: var(--code-inputbox-focus-border);
}
/* 选中的行 */
.md-fences.md-focus .CodeMirror-code>div.CodeMirror-activeline {
background-color: var(--code-selected-line-color);
}
/* 选中的代码 */
.cm-s-inner .CodeMirror-selected {
background-color: var(--code-selected-code-color) !important;
}
.cm-s-inner .CodeMirror-selectedtext {
background-color: transparent !important;
}
/* 代码块变量颜色 */
.cm-s-inner .cm-keyword {
color: #c792ea !important;
}
.cm-s-inner .cm-operator {
color: #89ddff !important;
}
.cm-s-inner .cm-variable-2 {
color: #eeffff !important;
}
.cm-s-inner .cm-variable-3 {
color: #f07178 !important;
}
.cm-s-inner .cm-type {
color: #f07178 !important;
}
.cm-s-inner .cm-builtin {
color: #ffcb6b !important;
}
.cm-s-inner .cm-atom {
color: #f78c6c !important;
}
.cm-s-inner .cm-number {
color: #ff5370 !important;
}
.cm-s-inner .cm-def {
color: rgb(130, 170, 255) !important;
}
.cm-s-inner .cm-string {
color: #a2c077 !important;
}
.cm-s-inner .cm-string-2 {
color: #f07178 !important;
}
.cm-s-inner .cm-comment {
color: #fff !important;
}
.cm-s-inner .cm-variable {
color: #f07178 !important;
}
.cm-s-inner .cm-tag {
color: #ff5370 !important;
}
.cm-s-inner .cm-meta {
color: #ffcb6b !important;
}
.cm-s-inner .cm-attribute {
color: #c792ea !important;
}
.cm-s-inner .cm-property {
color: #c792ea !important;
}
.cm-s-inner .cm-qualifier {
color: #decb6b !important;
}
.cm-s-inner .cm-variable-3,
.cm-s-inner .cm-type {
color: #decb6b !important;
}
.cm-s-inner .cm-error {
color: #fff !important;
background-color: #ff5370 !important;
}
/* --------------------------------------------------------------------------------------- */
/* 代码块颜色 */
--code-font-family: 'Consolas';
--code-font-size: 0.9rem;
--code-font-weight: 400;
--code-color: #a6accd;
--code-border: 1px solid #000;
--code-border-radius: 10px;
--code-top-background-color:rgb(33, 37, 43); /* 代码块头部背景颜色 */
--code-body-background-color:rgb(41, 45, 62); /* 代码块主体背景颜色 */
--code-body-border-top-color: rgba(167, 178, 189, 0.2); /* 代码块主体上边框颜色 */
--code-linenum-color: #f0ad4e; /* 行号颜色 */
--code-linenum-font-weight: 500; /* 行号字粗 */
--code-cursor-border: 2px solid #fff; /* 光标配置 */
--code-divided-line-border: 1px solid white; /* 分割线配置 */
--code-inputbox-color: rgba(167, 178, 189, 0.2); /* 输入框的颜色 */
--code-inputbox-border: 2px solid #000; /* 输入框的边框配置 */
--code-inputbox-focus-border: 2px solid #61abff; /* 聚焦后输入框的边框配置 */
--code-selected-line-color: rgba(167, 178, 189, 0.2); /* 光标所在代码行的颜色 */
--code-selected-code-color: rgba(167, 178, 189, 0.2); /* 选择代码后,代码的背景色 */
范例:仿mac图标(白色)
- 效果
- 配置方法
/* 代码块 */
.md-fences::before {
content: "";
display: block;
background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNDUwcHgiIGhlaWdodD0iMTMwcHgiPgogIDxlbGxpcHNlIGN4PSI2NSIgY3k9IjY1IiByeD0iNTAiIHJ5PSI1MiIgc3Ryb2tlPSJyZ2IoMjIwLDYwLDU0KSIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJyZ2IoMjM3LDEwOCw5NikiLz4KICA8ZWxsaXBzZSBjeD0iMjI1IiBjeT0iNjUiIHJ4PSI1MCIgcnk9IjUyIiAgc3Ryb2tlPSJyZ2IoMjE4LDE1MSwzMykiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0icmdiKDI0NywxOTMsODEpIi8+CiAgPGVsbGlwc2UgY3g9IjM4NSIgY3k9IjY1IiByeD0iNTAiIHJ5PSI1MiIgIHN0cm9rZT0icmdiKDI3LDE2MSwzNykiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0icmdiKDEwMCwyMDAsODYpIi8+Cjwvc3ZnPg==);
height: 30px;
width: 100%;
background-size: 40px;
background-repeat: no-repeat;
background-color: #f8f8f8;
border-radius: 5px 5px 0 0;
background-position: 6px 10px;
}
.cm-s-inner.CodeMirror {
background: #f8f8f8;
border-radius: 0 0 5px 5px;
padding: 20px 10px 20px 20px;
page-break-before: auto;
line-height: 1.65rem;
}
示例:github主题代码风格
- 配置方法
/*=======================================================代码块设置===================================================================*/
.CodeMirror-lines {
padding-left: 4px;
}
.code-tooltip {
box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);
border-top: 1px solid #eef2f2;
}
.md-fences,
code,
tt {
border: 1px solid #e7eaed;
background-color: #f8f8f8;
border-radius: 3px;
padding: 0;
padding: 2px 4px 0px 4px;
font-size: 0.9em;
/* font-family: DejaVu Sans Mono, Monaco, 'Courier New', monospace; */
/* font-family: DejaVu Sans Mono, Monaco, 'Courier New', monospace; */
}
- 效果展示
示例:material主题代码风格
- 配置方法
/*=======================================================代码块设置===================================================================*/
/** ported from https://codemirror.net/theme/material.css **/
/*
Name: material
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original material color scheme by Mattia Astorino (https://github.com/equinusocio/material-theme)
*/
.cm-s-inner {
background-color: #382f26;
color: rgba(233, 237, 237, 1);
}
.cm-s-inner .CodeMirror-gutters {
background: #263238;
color: rgb(83,127,126);
border: none;
}
.cm-s-inner .CodeMirror-guttermarker, .cm-s-inner .CodeMirror-guttermarker-subtle, .cm-s-inner .CodeMirror-linenumber { color: rgb(83,127,126); }
.cm-s-inner .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
.cm-s-inner div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
.cm-s-inner.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-inner .CodeMirror-line::selection, .cm-s-inner .CodeMirror-line > span::selection, .cm-s-inner .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-inner .CodeMirror-line::-moz-selection, .cm-s-inner .CodeMirror-line > span::-moz-selection, .cm-s-inner .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-inner .CodeMirror-activeline-background { background: rgba(0, 0, 0, 0); }
.cm-s-inner .cm-keyword { color: rgba(199, 146, 234, 1); }
.cm-s-inner .cm-operator { color: rgba(233, 237, 237, 1); }
.cm-s-inner .cm-variable-2 { color: #80CBC4; }
.cm-s-inner .cm-variable-3 { color: #82B1FF; }
.cm-s-inner .cm-builtin { color: #DECB6B; }
.cm-s-inner .cm-atom { color: #F77669; }
.cm-s-inner .cm-number { color: #F77669; }
.cm-s-inner .cm-def { color: rgba(233, 237, 237, 1); }
.cm-s-inner .cm-string { color: #C3E88D; }
.cm-s-inner .cm-string-2 { color: #80CBC4; }
.cm-s-inner .cm-comment { color: #546E7A; }
.cm-s-inner .cm-variable { color: #82B1FF; }
.cm-s-inner .cm-tag { color: #80CBC4; }
.cm-s-inner .cm-meta { color: #80CBC4; }
.cm-s-inner .cm-attribute { color: #FFCB6B; }
.cm-s-inner .cm-property { color: #80CBAE; }
.cm-s-inner .cm-qualifier { color: #DECB6B; }
.cm-s-inner .cm-variable-3 { color: #DECB6B; }
.cm-s-inner .cm-tag { color: rgba(255, 83, 112, 1); }
.cm-s-inner .cm-error {
color: rgba(255, 255, 255, 1.0);
background-color: #EC5F67;
}
.cm-s-inner .CodeMirror-matchingbracket {
text-decoration: underline;
color: white !important;
}
/**apply to code fences with plan text**/
.md-fences {
background-color: #263238;
color: rgb(237, 234, 233);
border: none;
}
.md-fences .code-tooltip {
background-color: #263238;
}
/* 在源代码基础上,增加了这段代码,次代码控制代码块的字体和背景色 */
.CodeMirror-lines {
cursor: text;
background-color: #232323;
font-family: DejaVu Sans Mono, Monaco, 'Courier New', monospace;
}
- 效果展示
示例:模拟mac的3个图标(白色)
- 配置方法
/* code block */
\#write pre.md-fences {
padding: 1rem 0.5rem 1rem;
display: block;
-webkit-overflow-scrolling: touch;
/* box-shadow: 0 0 6px 2px rgba(151, 151, 151, 0.9); */
/* border-top: rgb(51, 51, 51) solid 35px; */
border-top: rgb(244, 244, 244) solid 35px;
background-color: rgb(244, 244, 244);
}
pre.md-fences::before {
content: ' ';
background: #fa3534;
box-shadow: 23px 0 #ff9900, 45px 0 #19be6b;
border-radius: 50%;
margin-top: -2.3rem;
position: absolute;
left: 15px;
height: 12px;
width: 12px;
}
\#write pre.md-fences {
line-height: 1.5rem;
font-size: 0.9rem;
font-weight: 300;
border-radius: .7em;
/* font-family: var(--monospace) !important; */
/* background-color: #232323; */
font-family: DejaVu Sans Mono, Monaco, 'Courier New', monospace;
}
- 效果展示
示例:模拟mac的3个图标(暗黑)
- 配置方法
/*
模拟MAC的三个图标
*/
.CodeMirror-wrap .CodeMirror-scroll {
padding-top: 20px;
}
\#write .md-fences:before {
content: "";
z-index: 4;
display: block;
position: absolute;
top: 7px;
left: 15px;
height: 12px;
width: 12px;
border-radius: 50%;
float: left;
background-color: #fa3534;
}
\#write .CodeMirror-scroll:before {
content: "";
display: block;
position: absolute;
top: 0px;
left: 25px;
height: 12px;
width: 12px;
border-radius: 50%;
float: left;
z-index: 999;
background-color: #ff9900;
}
\#write .md-fences::after {
content: "";
z-index: 4;
display: block;
position: absolute;
top: 7px;
left: 55px;
height: 12px;
width: 12px;
border-radius: 50%;
float: left;
background-color: #19be6b;
}
- 效果展示
示例:修改代码背景颜色为sublime text3的背景色
- 注意
注意:sublimet text3背景颜色的颜色代码为
background: #232323; 这个颜色为sublime text3的颜色;
- 配置方法
/*
代码块设置:
*/
\#write .md-fences:not([mermaid-type]) {
font-family: var(--monospace-font);
font-size: 1rem;
font-weight: bold;
padding: 0.6rem;
padding-top: 7px;
border-radius: 10px;
background-color: #232323; /*这个背景色为sublime text背景色*/
color: #eeeeee;
border-radius: 0.4rem;
box-shadow: var(--block-shadow);
}
- 效果展示
示例:修改代码块字体
- 配置方法
/*修改代码块代码字体*/
.md-fences,
code,
tt {
background-color: #f8f8f8;
border-radius: 3px;
padding: 0;
padding-left: 4px !important;
padding-right: 4px !important;
font-size: 0.9em;
font-family: consolas, 'Courier New', monospace; /* 修改代码字体 */
}
\#write .md-fences:not([mermaid-type]) {
padding: 0.6rem;
padding-top: 7px;
border-radius: 10px;
background-color: #232323;
color: #eeeeee;
border-radius: 0.4rem;
box-shadow: var(--block-shadow);
}
示例:typora的代码块的光标颜色配置(已配置)
- 配置方法
/*typora的代码块的光标颜色配置:2021.12.15update*/
.cm-s-inner .CodeMirror-cursor {
border-left: solid rgb(96, 255, 96) !important;
}
- 效果展示