houzhongjian
2024-11-22 49b510c77474fed0eff94e27f8d7a2d4e4cb7879
提交 | 用户 | 时间
e7c126 1 /* BASICS */
H 2
3 .CodeMirror {
4   /* Set height, width, borders, and global font properties here */
5   font-family: monospace;
6   height: 300px;
7   color: black;
8   direction: ltr;
9 }
10
11 /* PADDING */
12
13 .CodeMirror-lines {
14   padding: 4px 0; /* Vertical padding around content */
15 }
16 .CodeMirror pre {
17   padding: 0 4px; /* Horizontal padding of content */
18 }
19
20 .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
21   background-color: white; /* The little square between H and V scrollbars */
22 }
23
24 /* GUTTER */
25
26 .CodeMirror-gutters {
27   border-right: 1px solid #ddd;
28   background-color: #f7f7f7;
29   white-space: nowrap;
30 }
31 .CodeMirror-linenumbers {}
32 .CodeMirror-linenumber {
33   padding: 0 3px 0 5px;
34   min-width: 20px;
35   text-align: right;
36   color: #999;
37   white-space: nowrap;
38 }
39
40 .CodeMirror-guttermarker { color: black; }
41 .CodeMirror-guttermarker-subtle { color: #999; }
42
43 /* CURSOR */
44
45 .CodeMirror-cursor {
46   border-left: 1px solid black;
47   border-right: none;
48   width: 0;
49 }
50 /* Shown when moving in bi-directional text */
51 .CodeMirror div.CodeMirror-secondarycursor {
52   border-left: 1px solid silver;
53 }
54 .cm-fat-cursor .CodeMirror-cursor {
55   width: auto;
56   border: 0 !important;
57   background: #7e7;
58 }
59 .cm-fat-cursor div.CodeMirror-cursors {
60   z-index: 1;
61 }
62 .cm-fat-cursor-mark {
63   background-color: rgba(20, 255, 20, 0.5);
64   -webkit-animation: blink 1.06s steps(1) infinite;
65   -moz-animation: blink 1.06s steps(1) infinite;
66   animation: blink 1.06s steps(1) infinite;
67 }
68 .cm-animate-fat-cursor {
69   width: auto;
70   border: 0;
71   -webkit-animation: blink 1.06s steps(1) infinite;
72   -moz-animation: blink 1.06s steps(1) infinite;
73   animation: blink 1.06s steps(1) infinite;
74   background-color: #7e7;
75 }
76 @-moz-keyframes blink {
77   0% {}
78   50% { background-color: transparent; }
79   100% {}
80 }
81 @-webkit-keyframes blink {
82   0% {}
83   50% { background-color: transparent; }
84   100% {}
85 }
86 @keyframes blink {
87   0% {}
88   50% { background-color: transparent; }
89   100% {}
90 }
91
92 /* Can style cursor different in overwrite (non-insert) mode */
93 .CodeMirror-overwrite .CodeMirror-cursor {}
94
95 .cm-tab { display: inline-block; text-decoration: inherit; }
96
97 .CodeMirror-rulers {
98   position: absolute;
99   left: 0; right: 0; top: -50px; bottom: -20px;
100   overflow: hidden;
101 }
102 .CodeMirror-ruler {
103   border-left: 1px solid #ccc;
104   top: 0; bottom: 0;
105   position: absolute;
106 }
107
108 /* DEFAULT THEME */
109
110 .cm-s-default .cm-header {color: blue;}
111 .cm-s-default .cm-quote {color: #090;}
112 .cm-negative {color: #d44;}
113 .cm-positive {color: #292;}
114 .cm-header, .cm-strong {font-weight: bold;}
115 .cm-em {font-style: italic;}
116 .cm-link {text-decoration: underline;}
117 .cm-strikethrough {text-decoration: line-through;}
118
119 .cm-s-default .cm-keyword {color: #708;}
120 .cm-s-default .cm-atom {color: #219;}
121 .cm-s-default .cm-number {color: #164;}
122 .cm-s-default .cm-def {color: #00f;}
123 .cm-s-default .cm-variable,
124 .cm-s-default .cm-punctuation,
125 .cm-s-default .cm-property,
126 .cm-s-default .cm-operator {}
127 .cm-s-default .cm-variable-2 {color: #05a;}
128 .cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
129 .cm-s-default .cm-comment {color: #a50;}
130 .cm-s-default .cm-string {color: #a11;}
131 .cm-s-default .cm-string-2 {color: #f50;}
132 .cm-s-default .cm-meta {color: #555;}
133 .cm-s-default .cm-qualifier {color: #555;}
134 .cm-s-default .cm-builtin {color: #30a;}
135 .cm-s-default .cm-bracket {color: #997;}
136 .cm-s-default .cm-tag {color: #170;}
137 .cm-s-default .cm-attribute {color: #00c;}
138 .cm-s-default .cm-hr {color: #999;}
139 .cm-s-default .cm-link {color: #00c;}
140
141 .cm-s-default .cm-error {color: #f00;}
142 .cm-invalidchar {color: #f00;}
143
144 .CodeMirror-composing { border-bottom: 2px solid; }
145
146 /* Default styles for common addons */
147
148 div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
149 div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
150 .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
151 .CodeMirror-activeline-background {background: #e8f2ff;}
152
153 /* STOP */
154
155 /* The rest of this file contains styles related to the mechanics of
156    the editor. You probably shouldn't touch them. */
157
158 .CodeMirror {
159   position: relative;
160   overflow: hidden;
161   background: white;
162 }
163
164 .CodeMirror-scroll {
165   overflow: scroll !important; /* Things will break if this is overridden */
166   /* 30px is the magic margin used to hide the element's real scrollbars */
167   /* See overflow: hidden in .CodeMirror */
168   margin-bottom: -30px; margin-right: -30px;
169   padding-bottom: 30px;
170   height: 100%;
171   outline: none; /* Prevent dragging from highlighting the element */
172   position: relative;
173 }
174 .CodeMirror-sizer {
175   position: relative;
176   border-right: 30px solid transparent;
177 }
178
179 /* The fake, visible scrollbars. Used to force redraw during scrolling
180    before actual scrolling happens, thus preventing shaking and
181    flickering artifacts. */
182 .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
183   position: absolute;
184   z-index: 6;
185   display: none;
186 }
187 .CodeMirror-vscrollbar {
188   right: 0; top: 0;
189   overflow-x: hidden;
190   overflow-y: scroll;
191 }
192 .CodeMirror-hscrollbar {
193   bottom: 0; left: 0;
194   overflow-y: hidden;
195   overflow-x: scroll;
196 }
197 .CodeMirror-scrollbar-filler {
198   right: 0; bottom: 0;
199 }
200 .CodeMirror-gutter-filler {
201   left: 0; bottom: 0;
202 }
203
204 .CodeMirror-gutters {
205   position: absolute; left: 0; top: 0;
206   min-height: 100%;
207   z-index: 3;
208 }
209 .CodeMirror-gutter {
210   white-space: normal;
211   height: 100%;
212   display: inline-block;
213   vertical-align: top;
214   margin-bottom: -30px;
215 }
216 .CodeMirror-gutter-wrapper {
217   position: absolute;
218   z-index: 4;
219   background: none !important;
220   border: none !important;
221 }
222 .CodeMirror-gutter-background {
223   position: absolute;
224   top: 0; bottom: 0;
225   z-index: 4;
226 }
227 .CodeMirror-gutter-elt {
228   position: absolute;
229   cursor: default;
230   z-index: 4;
231 }
232 .CodeMirror-gutter-wrapper ::selection { background-color: transparent }
233 .CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }
234
235 .CodeMirror-lines {
236   cursor: text;
237   min-height: 1px; /* prevents collapsing before first draw */
238 }
239 .CodeMirror pre {
240   /* Reset some styles that the rest of the page might have set */
241   -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
242   border-width: 0;
243   background: transparent;
244   font-family: inherit;
245   font-size: inherit;
246   margin: 0;
247   white-space: pre;
248   word-wrap: normal;
249   line-height: inherit;
250   color: inherit;
251   z-index: 2;
252   position: relative;
253   overflow: visible;
254   -webkit-tap-highlight-color: transparent;
255   -webkit-font-variant-ligatures: contextual;
256   font-variant-ligatures: contextual;
257 }
258 .CodeMirror-wrap pre {
259   word-wrap: break-word;
260   white-space: pre-wrap;
261   word-break: normal;
262 }
263
264 .CodeMirror-linebackground {
265   position: absolute;
266   left: 0; right: 0; top: 0; bottom: 0;
267   z-index: 0;
268 }
269
270 .CodeMirror-linewidget {
271   position: relative;
272   z-index: 2;
273   padding: 0.1px; /* Force widget margins to stay inside of the container */
274 }
275
276 .CodeMirror-widget {}
277
278 .CodeMirror-rtl pre { direction: rtl; }
279
280 .CodeMirror-code {
281   outline: none;
282 }
283
284 /* Force content-box sizing for the elements where we expect it */
285 .CodeMirror-scroll,
286 .CodeMirror-sizer,
287 .CodeMirror-gutter,
288 .CodeMirror-gutters,
289 .CodeMirror-linenumber {
290   -moz-box-sizing: content-box;
291   box-sizing: content-box;
292 }
293
294 .CodeMirror-measure {
295   position: absolute;
296   width: 100%;
297   height: 0;
298   overflow: hidden;
299   visibility: hidden;
300 }
301
302 .CodeMirror-cursor {
303   position: absolute;
304   pointer-events: none;
305 }
306 .CodeMirror-measure pre { position: static; }
307
308 div.CodeMirror-cursors {
309   visibility: hidden;
310   position: relative;
311   z-index: 3;
312 }
313 div.CodeMirror-dragcursors {
314   visibility: visible;
315 }
316
317 .CodeMirror-focused div.CodeMirror-cursors {
318   visibility: visible;
319 }
320
321 .CodeMirror-selected { background: #d9d9d9; }
322 .CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
323 .CodeMirror-crosshair { cursor: crosshair; }
324 .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
325 .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
326
327 .cm-searching {
328   background-color: #ffa;
329   background-color: rgba(255, 255, 0, .4);
330 }
331
332 /* Used to force a border model for a node */
333 .cm-force-border { padding-right: .1px; }
334
335 @media print {
336   /* Hide the cursor when printing */
337   .CodeMirror div.CodeMirror-cursors {
338     visibility: hidden;
339   }
340 }
341
342 /* See issue #2901 */
343 .cm-tab-wrap-hack:after { content: ''; }
344
345 /* Help users use markselection to safely style text background */
346 span.CodeMirror-selectedtext { background: none; }