2 Obsidian CSS片段
去除待办的删除线样式
1
2
3
4
5
6
/* 实现去除待办的删除线样式,方便在回顾任务的时候使用,避免干扰。 */
.markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="x"],
.markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="X"] {
text-decoration: unset;
}
效果:
 |
编辑模式下当前行高亮
1
2
3
4
5
6
7
8
9
10
/* Active line background */
.markdown-source-view.mod-cm6 .cm-line.cm-active {
background-color: rgba(var(--mono-rgb-100), 0.05)
}
/*Active line number */
.markdown-source-view.mod-cm6 .cm-lineNumbers .cm-gutterElement.cm-active {
font-weight: 600;
color: purple
}
效果:
 |
笔记页内标题居中
1
2
3
4
5
6
7
.view-content .markdown-source-view .inline-title {
align-self: center;
}
.markdown-preview-view .mod-header .inline-title {
text-align: center;
}
编辑模式代码块显示行号
通过 CSS 的方法实现在编辑模式下显示代码行号 ,但因为受限于 Obsidian 的渲染机制,如果代码长度超过一屏幕,代码行号会被重置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.HyperMD-codeblock-begin {
counter-reset: line-numbers;
}
.HyperMD-codeblock.cm-line:not(.HyperMD-codeblock-begin):not(.HyperMD-codeblock-end) {
padding-left: 3em;
position: relative;
}
.HyperMD-codeblock.cm-line:not(.HyperMD-codeblock-begin):not(.HyperMD-codeblock-end)::after {
align-items: flex-start;
color: var(--text-faint);
content: counter(line-numbers);
counter-increment: line-numbers;
display: flex;
font-size: 0.8em;
height: 100%;
justify-content: flex-end;
left: 0;
position: absolute;
text-align: right;
width: 2em;
padding-right: 0.5em;
bottom: -2px;
border-right: 1px solid var(--scrollbar-thumb-bg);
white-space: nowrap;
}
.HyperMD-codeblock.cm-line.cm-active:not(.HyperMD-codeblock-begin):not(.HyperMD-codeblock-end)::after {
color: var(--color-accent);
}
.HyperMD-codeblock .cm-foldPlaceholder::before {
display: none;
}
图片添加边框阴影
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
使用 CSS3 的filter阴影滤镜 drop-shadow;此函数有点类似于 box-shadow 属性;box-shadow 属性在元素的整个框后面创建一个矩形阴影, 而 drop-shadow() 过滤器则是创建一个符合图像本身形状 ( alpha 通道)的阴影。
其语法是:
drop-shadow(offset-x offset-y blur-radius spread-radius color)
采用 drop-shadow 是更加可取的方案;box-shadow,只是盒子的阴影;倘若盒子中间是透明的,其光线不能穿透;
*/
/* 图片添加边框阴影 */
img {
-webkit-filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, .5));
filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, .5));
}
/* 图片添加边框 */
img {
border-style: solid;
/*图片边框: 实线*/
border-width: 0px;
/*边框宽度: 0.5px*/
}
搜索框美化,类似 Vscode
- 类 vscode 搜索框
- 基于 AccentColor 的高亮
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
.theme-light {
/* 外部链接 ()[] */
--external-link: #e39133;
/* 内部链接 [[]] */
--internal-link: #5d94ca;
}
.theme-dark {
--external-link: #965e1edd;
--internal-link: #58a8fadd;
}
.is-live-preview .cm-line:not(.cm-active) .cm-hmd-internal-link,
.markdown-preview-view .internal-link,
.is-live-preview .cm-line:not(.cm-active) .cm-link,
.markdown-preview-view .external-link {
border-radius: 6px;
padding: 2px 20px;
border: 0.5px solid var(--c);
box-sizing: border-box;
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2705882353), -1px -1px 4px rgba(255, 255, 255, 0.2705882353);
background: conic-gradient(from -135deg at 100% 50%, var(--c) 90deg, rgba(0, 0, 0, 0) 0) -2px var(--p, 1%)/var(--s, 0%) 200% no-repeat, conic-gradient(from -135deg at 1.2em 50%, rgba(0, 0, 0, 0) 90deg, var(--c) 0) calc(100% + 2px) var(--p, 1%)/var(--s, 0%) 200% no-repeat !important;
transition: 0.3s ease-in-out, background-position 0s, padding 0s, border-radius 0s, border 0s;
}
.is-live-preview .cm-line:not(.cm-active) .cm-hmd-internal-link:hover,
.markdown-preview-view .internal-link:hover,
.is-live-preview .cm-line:not(.cm-active) .cm-link:hover,
.markdown-preview-view .external-link:hover {
--p: 96%;
--s: calc(50% + 0.9em);
color: var(--background-primary) !important;
box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2705882353), -3px -3px 6px rgba(255, 255, 255, 0.2705882353);
}
.cm-link,
.external-link {
color: var(--external-link) !important;
}
.cm-link,
.cm-link .cm-underline,
.external-link,
.external-link .cm-underline {
text-decoration: none !important;
}
span.external-link {
display: none !important;
}
.is-live-preview .cm-line:not(.cm-active) .cm-link,
.markdown-preview-view .external-link {
--c: var(--external-link);
}
.cm-url,
.cm-hmd-internal-link,
.internal-link {
color: var(--internal-link) !important;
}
.cm-url,
.cm-url .cm-underline,
.cm-hmd-internal-link,
.cm-hmd-internal-link .cm-underline,
.internal-link,
.internal-link .cm-underline {
text-decoration: none !important;
}
.internal-link {
padding: 0 4px;
}
.is-live-preview .cm-line:not(.cm-active) .cm-hmd-internal-link,
.markdown-preview-view .internal-link {
--c: var(--internal-link);
}
.cm-formatting-link,
.cm-formatting-link-string,
.cm-formatting-image {
font-weight: 700;
margin: 0 2px;
border: none !important;
box-shadow: none !important;
}
.cm-formatting-link~.cm-hmd-internal-link,
.cm-formatting-link+.cm-link,
.cm-formatting-link-string~.cm-hmd-internal-link,
.cm-formatting-link-string+.cm-link,
.cm-formatting-image+.cm-hmd-internal-link,
.cm-formatting-image+.cm-link {
box-shadow: none !important;
border: none !important;
background-color: transparent !important;
}
效果:
 |
Ref:https://www.yuque.com/fanmofeng/obsidian/rh5cke
链接美化
- 常规状态的链接样式
hover
时链接的着重显示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
.theme-light {
/* 外部链接 ()[] */
--external-link: #e39133;
/* 内部链接 [[]] */
--internal-link: #5d94ca;
}
.theme-dark {
--external-link: #965e1edd;
--internal-link: #58a8fadd;
}
.is-live-preview .cm-line:not(.cm-active) .cm-hmd-internal-link,
.markdown-preview-view .internal-link,
.is-live-preview .cm-line:not(.cm-active) .cm-link,
.markdown-preview-view .external-link {
border-radius: 6px;
padding: 2px 20px;
border: 0.5px solid var(--c);
box-sizing: border-box;
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2705882353), -1px -1px 4px rgba(255, 255, 255, 0.2705882353);
background: conic-gradient(from -135deg at 100% 50%, var(--c) 90deg, rgba(0, 0, 0, 0) 0) -2px var(--p, 1%)/var(--s, 0%) 200% no-repeat, conic-gradient(from -135deg at 1.2em 50%, rgba(0, 0, 0, 0) 90deg, var(--c) 0) calc(100% + 2px) var(--p, 1%)/var(--s, 0%) 200% no-repeat !important;
transition: 0.3s ease-in-out, background-position 0s, padding 0s, border-radius 0s, border 0s;
}
.is-live-preview .cm-line:not(.cm-active) .cm-hmd-internal-link:hover,
.markdown-preview-view .internal-link:hover,
.is-live-preview .cm-line:not(.cm-active) .cm-link:hover,
.markdown-preview-view .external-link:hover {
--p: 96%;
--s: calc(50% + 0.9em);
color: var(--background-primary) !important;
box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2705882353), -3px -3px 6px rgba(255, 255, 255, 0.2705882353);
}
.cm-link,
.external-link {
color: var(--external-link) !important;
}
.cm-link,
.cm-link .cm-underline,
.external-link,
.external-link .cm-underline {
text-decoration: none !important;
}
span.external-link {
display: none !important;
}
.is-live-preview .cm-line:not(.cm-active) .cm-link,
.markdown-preview-view .external-link {
--c: var(--external-link);
}
.cm-url,
.cm-hmd-internal-link,
.internal-link {
color: var(--internal-link) !important;
}
.cm-url,
.cm-url .cm-underline,
.cm-hmd-internal-link,
.cm-hmd-internal-link .cm-underline,
.internal-link,
.internal-link .cm-underline {
text-decoration: none !important;
}
.internal-link {
padding: 0 4px;
}
.is-live-preview .cm-line:not(.cm-active) .cm-hmd-internal-link,
.markdown-preview-view .internal-link {
--c: var(--internal-link);
}
.cm-formatting-link,
.cm-formatting-link-string,
.cm-formatting-image {
font-weight: 700;
margin: 0 2px;
border: none !important;
box-shadow: none !important;
}
.cm-formatting-link~.cm-hmd-internal-link,
.cm-formatting-link+.cm-link,
.cm-formatting-link-string~.cm-hmd-internal-link,
.cm-formatting-link-string+.cm-link,
.cm-formatting-image+.cm-hmd-internal-link,
.cm-formatting-image+.cm-link {
box-shadow: none !important;
border: none !important;
background-color: transparent !important;
}
效果:
仿 firefox tab 栏
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
仿firefox tab栏
https://www.yuque.com/fanmofeng/obsidian/dddwl1
*/
.mod-root .workspace-tab-header-container-inner {
margin-top: 4px;
padding-bottom: 4px;
}
.workspace-tab-header {
padding-bottom: 0 !important;
}
.workspace-tab-header.is-active {
--tab-radius-active: 6px;
box-shadow: var(--shadow-s);
border: 1px solid var(--color-base-30);
}
.workspace-tab-header .workspace-tab-header-inner-close-button {
padding: 2px;
}
.workspace-split.mod-root .workspace-tab-header.is-active::before,
.workspace-split.mod-root .workspace-tab-header.is-active::after {
box-shadow: none;
}
效果:
Ref: 仿firefox tab栏
Ref
本文由作者按照 CC BY 4.0 进行授权