51 lines
3.6 KiB
CSS
51 lines
3.6 KiB
CSS
* { box-sizing: border-box; }
|
||
html, body, #root { margin: 0; height: 100%; }
|
||
/* Tiptap 编辑器正文 */
|
||
.tiptap-wrap .ProseMirror {
|
||
font-size: var(--editor-font-size, 14px) !important;
|
||
font-family: var(--editor-font-family, Consolas, monospace) !important;
|
||
white-space: var(--editor-white-space, pre-wrap);
|
||
min-height: 100%;
|
||
padding: 16px 24px;
|
||
font-family: 'Consolas', 'Source Code Pro', system-ui, sans-serif;
|
||
font-size: 14px;
|
||
line-height: 1.7;
|
||
color: #ddd;
|
||
outline: none;
|
||
max-width: 860px;
|
||
margin: 0 auto;
|
||
}
|
||
.tiptap-wrap .ProseMirror p { margin: 0.6em 0; }
|
||
.tiptap-wrap .ProseMirror h1 { font-size: 1.8em; margin: 0.8em 0 0.4em; }
|
||
.tiptap-wrap .ProseMirror h2 { font-size: 1.5em; margin: 0.7em 0 0.35em; }
|
||
.tiptap-wrap .ProseMirror h3 { font-size: 1.25em; margin: 0.6em 0 0.3em; }
|
||
.tiptap-wrap .ProseMirror code {
|
||
background: #2a2a2a; padding: 1px 5px; border-radius: 3px; font-family: 'Consolas', monospace;
|
||
}
|
||
.tiptap-wrap .ProseMirror pre {
|
||
background: #161616; padding: 12px 16px; border-radius: 6px; overflow: auto;
|
||
}
|
||
.tiptap-wrap .ProseMirror pre code { background: none; padding: 0; }
|
||
/* highlight.js 暗色主题(CodeBlockLowlight 装饰 span,FR-E5) */
|
||
.tiptap-wrap .ProseMirror .hljs { color: #abb2bf; }
|
||
.tiptap-wrap .ProseMirror .hljs-comment, .tiptap-wrap .ProseMirror .hljs-quote { color: #5c6370; font-style: italic; }
|
||
.tiptap-wrap .ProseMirror .hljs-doctag, .tiptap-wrap .ProseMirror .hljs-keyword, .tiptap-wrap .ProseMirror .hljs-formula, .tiptap-wrap .ProseMirror .hljs-name, .tiptap-wrap .ProseMirror .hljs-section, .tiptap-wrap .ProseMirror .hljs-selector-tag, .tiptap-wrap .ProseMirror .hljs-tag { color: #e06c75; }
|
||
.tiptap-wrap .ProseMirror .hljs-addition, .tiptap-wrap .ProseMirror .hljs-attribute, .tiptap-wrap .ProseMirror .hljs-attr, .tiptap-wrap .ProseMirror .hljs-string, .tiptap-wrap .ProseMirror .hljs-template-tag, .tiptap-wrap .ProseMirror .hljs-template-variable, .tiptap-wrap .ProseMirror .hljs-value { color: #98c379; }
|
||
.tiptap-wrap .ProseMirror .hljs-built_in, .tiptap-wrap .ProseMirror .hljs-class .hljs-title, .tiptap-wrap .ProseMirror .hljs-title, .tiptap-wrap .ProseMirror .hljs-title.class_, .tiptap-wrap .ProseMirror .hljs-type { color: #e6c07b; }
|
||
.tiptap-wrap .ProseMirror .hljs-function .hljs-title, .tiptap-wrap .ProseMirror .hljs-title.function_ { color: #61afef; }
|
||
.tiptap-wrap .ProseMirror .hljs-literal, .tiptap-wrap .ProseMirror .hljs-number, .tiptap-wrap .ProseMirror .hljs-operator, .tiptap-wrap .ProseMirror .hljs-variable, .tiptap-wrap .ProseMirror .hljs-params { color: #d19a66; }
|
||
.tiptap-wrap .ProseMirror .hljs-bullet, .tiptap-wrap .ProseMirror .hljs-link, .tiptap-wrap .ProseMirror .hljs-meta, .tiptap-wrap .ProseMirror .hljs-regexp, .tiptap-wrap .ProseMirror .hljs-selector-attr, .tiptap-wrap .ProseMirror .hljs-selector-class, .tiptap-wrap .ProseMirror .hljs-selector-id, .tiptap-wrap .ProseMirror .hljs-symbol, .tiptap-wrap .ProseMirror .hljs-variable.constant_ { color: #56b6c2; }
|
||
.tiptap-wrap .ProseMirror .hljs-deletion { color: #e06c75; }
|
||
.tiptap-wrap .ProseMirror .hljs-emphasis { font-style: italic; }
|
||
.tiptap-wrap .ProseMirror .hljs-strong { font-weight: 700; }
|
||
.tiptap-wrap .ProseMirror blockquote {
|
||
border-left: 3px solid #444; padding-left: 12px; color: #aaa; margin: 0.6em 0;
|
||
}
|
||
.tiptap-wrap .ProseMirror ul, .tiptap-wrap .ProseMirror ol { padding-left: 24px; }
|
||
.tiptap-wrap .ProseMirror table { border-collapse: collapse; }
|
||
.tiptap-wrap .ProseMirror th, .tiptap-wrap .ProseMirror td {
|
||
border: 1px solid #444; padding: 4px 8px;
|
||
}
|
||
.tiptap-wrap .ProseMirror p.is-editor-empty:first-child::before {
|
||
content: attr(data-placeholder); color: #666; pointer-events: none; float: left;
|
||
} |