0055 索引书签-CSS Snippets

效果展示

paper-index.png

代码

用的依然是 callouts,使用格式参考此链接。标题会显示在标签上,建议标题文字少一点。

自定义 CSS 片段(如果是单独文件,记得在设置中启用)。

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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/* 索引标签 */
.callout[data-callout^="paper-index"] {
--paper-border: 1px solid #333338;
--paper-tab-radius: 6px;
--paper-tab-top-border: 5px;
position: relative;
background: none;
border: none;
padding: 0 3px 3px;
}
.callout[data-callout^="paper-index"] > .callout-title {
display: flex;
background: none;
border: none;
border-bottom: var(--paper-border);
padding: 3px 3px 0;
overflow: hidden;
}
.callout[data-callout^="paper-index"] > .callout-title::before,
.callout[data-callout^="paper-index"] > .callout-title::after {
content: ' ';
flex-grow: 0;
}
.callout[data-callout^="paper-index"] > .callout-title > .callout-title-inner {
position: relative;
padding: var(--paper-tab-top-border) 1rem 0;
font-size: .8rem;
line-height: 1.4;
font-weight: normal;
color: var(--text-normal);
}
.callout[data-callout^="paper-index"] > .callout-title > .callout-title-inner::before {
position: absolute;
top: 0 ;
left: 0;
content: " ";
width: 100%;
height: 100%;
border-top: var(--paper-tab-top-border) solid #333338;
border-left: var(--paper-border);
border-right: var(--paper-border);
border-radius: var(--paper-tab-radius) var(--paper-tab-radius) 0 0;
box-shadow: 0 0 3px rgba(0, 0, 0, .3);
}
.callout[data-callout^="paper-index"] > .callout-title > .callout-icon {
display: none;
}
.callout[data-callout^="paper-index"] > .callout-content {
border-bottom: var(--paper-border);
border-left: var(--paper-border);
border-right: var(--paper-border);
padding: 1rem 1.5rem;
box-shadow: 0 0 3px rgba(0, 0, 0, .3);
}

.callout[data-callout="paper-index-1"] > .callout-title::before { flex-grow: 1; }
.callout[data-callout="paper-index-1"] > .callout-title::after { flex-grow: 10; }

.callout[data-callout="paper-index-2"] > .callout-title::before { flex-grow: 2; }
.callout[data-callout="paper-index-2"] > .callout-title::after { flex-grow: 9; }

.callout[data-callout="paper-index-3"] > .callout-title::before { flex-grow: 3; }
.callout[data-callout="paper-index-3"] > .callout-title::after { flex-grow: 8; }

.callout[data-callout="paper-index-4"] > .callout-title::before { flex-grow: 4; }
.callout[data-callout="paper-index-4"] > .callout-title::after { flex-grow: 7; }

.callout[data-callout="paper-index-5"] > .callout-title::before { flex-grow: 5; }
.callout[data-callout="paper-index-5"] > .callout-title::after { flex-grow: 6; }

.callout[data-callout="paper-index-6"] > .callout-title::before { flex-grow: 6; }
.callout[data-callout="paper-index-6"] > .callout-title::after { flex-grow: 5; }

.callout[data-callout="paper-index-7"] > .callout-title::before { flex-grow: 7; }
.callout[data-callout="paper-index-7"] > .callout-title::after { flex-grow: 4; }

.callout[data-callout="paper-index-8"] > .callout-title::before { flex-grow: 8; }
.callout[data-callout="paper-index-8"] > .callout-title::after { flex-grow: 3; }

.callout[data-callout="paper-index-9"] > .callout-title::before { flex-grow: 9; }
.callout[data-callout="paper-index-9"] > .callout-title::after { flex-grow: 2; }

.callout[data-callout="paper-index-10"] > .callout-title::before { flex-grow: 10; }
.callout[data-callout="paper-index-10"] > .callout-title::after { flex-grow: 1; }

.callout[data-callout="paper-index-11"] > .callout-title::before { flex-grow: 11; }
.callout[data-callout="paper-index-11"] > .callout-title::after { flex-grow: 0; }

.callout[data-callout="paper-index-0"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(0, 90%, 80%);
}
.callout[data-callout="paper-index-1"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(30, 73%, 73%);
}
.callout[data-callout="paper-index-2"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(60, 53%, 59%);
}
.callout[data-callout="paper-index-3"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(90, 50%, 59%);
}
.callout[data-callout="paper-index-4"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(120, 33%, 40%);
}
.callout[data-callout="paper-index-5"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(150, 30%, 45%);
}
.callout[data-callout="paper-index-6"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(180, 52%, 39%);
}
.callout[data-callout="paper-index-7"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(210, 33%, 40%);
}
.callout[data-callout="paper-index-8"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(240, 26%, 54%);
}
.callout[data-callout="paper-index-9"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(270, 21%, 51%);
}
.callout[data-callout="paper-index-10"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(300, 34%, 65%);
}
.callout[data-callout="paper-index-11"] > .callout-title > .callout-title-inner::before {
border-top: var(--paper-tab-top-border) solid hsl(330, 60%, 71%);
}

使用

1
2
> [!paper-index] 这样就是普通索引
> 其实只要中括号里的内容是以 paper-index 且不符合下面规则的就会被显示为普通索引
1
2
> [!paper-index-0] 这样有颜色和位置偏移的索引
> 数字可以是 0-11,一共 12 个。超出此范围会被显示喂普通索引