hjg
2023-11-18 bb48edb3d9faaaeab0088151c86fc24137acdb08
提交 | 用户 | 时间
58d006 1 .enable_infobox() when (@enable-infobox = true) {
A 2
3 //dashboard info and stats mini boxes 
4 .infobox-container {
5  text-align: center;
6  font-size: 0;
7 }
8 .infobox {
9
10  display: inline-block;
11  width: 210px;
12  height: 66px;
13
14  color: #555;
15  background-color: #FFF;
16  box-shadow: none;
17  border-radius: 0;
18  
19  
20  margin: -1px 0 0 -1px;
21
22  padding: 8px 3px 6px 9px;
23  border: 1px dotted;
24  border-color: #D8D8D8 !important;
25
26  vertical-align: middle;
27  text-align: left;
28
29  position: relative;
30  
31
32    > .infobox-icon {
33     display: inline-block;
34     vertical-align: top;
35  
36     width:44px;
37     
38      > .@{icon} {
39          display: inline-block;
40          height: 42px;
41          margin: 0;
42          padding: 1px 1px 0 2px;
43
44          background-color: transparent;
45          border-width: 0;
46
47          text-align: center; 
48          
49          position: relative;
50
51          .border-radius(100%); 
52          .box-shadow(~"1px 1px 0 rgba(0,0,0,0.2)");
53          
54          &:before {
55              font-size: @font-size-infobox-icon;
56              display: block;
57              padding: 6px 0 7px;
58              
59              width: 40px;
60              text-align: center;
61              border-radius: 100%;
62
63              color: #FFF;
64              color: rgba(255, 255, 255, 0.9);
65
66              background-color: transparent;
67              background-color: rgba(255, 255, 255, 0.2);
68
69              text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.14);
70          }
71      }
72   }
73   
74   
75   .infobox-content {
76      color: #555;
77      max-width: 140px;
78      
79      &:first-child {//like in small infoboxes that have no number data etc
80         font-weight: bold;
81      }
82   }
83   
84   
85   > .infobox-data {
86      display: inline-block;
87
88      border-width: 0;
89      border-top-width: 0;
90
91      font-size: @font-size-infobox-data;
92
93      text-align: left;
94
95      line-height: 21px;
96      min-width: 130px;
97      
98      padding-left: 8px;
99      
100      position: relative;
101      top: 0;
102      
103      > .infobox-data-number {
104         display: block;
105         font-size: @font-size-infobox-data-number;
106         margin: 2px 0 4px;
107      
108         position: relative;
109         text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.15);
110     }
111     
112     > .infobox-text {
113         display: block;
114         font-size: @font-size-infobox-text;
115         margin: 2px 0 4px;
116          
117         position: relative;
118         text-shadow: none;
119     }
120   }
121
122
123   &.no-border {
124         border-width: 0 !important;
125   }
126 }
127
128
129 @media only screen and (max-width: @screen-topbar-down) {
130  .infobox {
131     min-width: 95%;
132     margin-top: 2px;
133     margin-bottom: 2px;
134  }
135 }
136
137
138
139
140 //infobox color
141 .infobox-color(@color) {
142   @infobox-class:~`"infobox-@{color}"`;
143   @infobox-bg:~`"infobox-@{color}"`;
144   @infobox-cl:@@infobox-bg;
145   
146   .@{infobox-class} {
147     color: @infobox-cl;
148     border-color: @infobox-cl;
149     > .infobox-icon > .@{icon}  {
150         background-color: @infobox-cl;
151     }
152     
153     .enable_infobox_dark_colors() when (@enable-infobox-dark = true) {
154         &.infobox-dark {
155             background-color: @infobox-cl;
156             border-color: @infobox-cl;
157         }
158     }
159     .enable_infobox_dark_colors();
160   }
161 }
162 .infobox-color(~"purple");
163 .infobox-color(~"purple2");
164 .infobox-color(~"pink");
165 .infobox-color(~"blue");
166 .infobox-color(~"blue2");
167 .infobox-color(~"blue3");
168 .infobox-color(~"red");
169 .infobox-color(~"brown");
170 .infobox-color(~"wood");
171 .infobox-color(~"light-brown");
172 .infobox-color(~"orange");
173 .infobox-color(~"orange2");
174 .infobox-color(~"green");
175 .infobox-color(~"green2");
176 .infobox-color(~"grey");
177 .infobox-color(~"black");
178
179
180
181
182
183 .enable_infobox_dark() when(@enable-infobox-dark = true) {
184 .infobox-dark {
185   margin: 1px 1px 0 0;
186   border-color: transparent !important;
187   border-width: 0;
188   
189   color: #FFF;
190   padding: 4px;
191   > .infobox-icon > .@{icon} {
192     & , &:before {
193       background-color: transparent;
194       box-shadow: none !important;//to override .rtl's
195       text-shadow: none;
196       border-radius: 0;
197       font-size: @font-size-infobox-dark-icon;
198     }
199     &:before {
200         .opacity(1);
201     }
202   }
203   
204   .infobox-content {
205     color: #FFF;     
206   }
207
208 }
209
210 }
211 .enable_infobox_dark();
212
213
214
215
216 .infobox {
217   > .infobox-progress {
218     padding-top: 0;
219     display: inline-block;
220     vertical-align: top;
221  
222     width: 44px;
223   }
224
225   > .infobox-chart {
226     padding-top: 0;
227     display: inline-block;
228     vertical-align: text-bottom;
229     width: 44px;
230     text-align: center;
231     
232     > .sparkline {
233         font-size: @font-size-infobox-sparkline;
234     }
235     canvas {
236         vertical-align: middle !important;
237     }
238   }
239   
240   
241   //stat trend indicators and badges
242   > .stat {
243         display: inline-block;
244         position: absolute;
245         right: 20px;
246         top: 11px;
247
248         text-shadow: none;
249         color: #ABBAC3;
250         
251         font-size: @font-size-infobox-stat;
252         font-weight: bold;
253
254         padding-right: 18px;
255         padding-top: 3px;
256         
257         &:before {
258             display: inline-block;
259             content: "";
260              
261             width: 8px;
262             height: 11px;
263             background-color:#ABBAC3;
264              
265             position: absolute;
266             right: 4px;
267             top: 7px;
268         }
269         &:after {
270             display: inline-block;
271             content: "";
272  
273             position: absolute;
274             right: 1px;
275             top: -8px;
276  
277             border: 12px solid transparent;
278             border-width: 8px 7px;
279             border-bottom-color: #ABBAC3;
280         }
281         
282         &.stat-success {//pointing up
283             color: #77C646;
284             &:before {
285                 background-color: #77C646;
286             }
287             &:after {
288                 border-bottom-color: #77C646;
289             }
290         }
291         
292         &.stat-important {/*pointing down*/
293             color: #E4564F;
294             &:before {
295                 background-color: #E4564F;
296                 top: 3px;
297             }
298             &:after {
299                 border-top-color: #E4564F;
300                 border-bottom-color: transparent;
301                 bottom: -6px;
302                 top: auto;
303             }
304         }
305   }
306   
307   .enable_infobox_dark_stats() when (@enable-infobox-dark = true) {
308       &.infobox-dark > .stat {
309         color: #FFF;
310         &:before {
311             background-color: #E1E5E8;
312         }
313         &:after {
314             border-bottom-color: #E1E5E8;
315         }
316         
317         &.stat-success {
318             color: #FFF;
319             &:before {
320                 background-color: #D0E29E;
321             }
322             &:after {
323              border-bottom-color: #D0E29E;
324             }
325         }
326         &.stat-important {
327             color: #FFF;
328             &:before {
329                 background-color: #FF8482;
330                 top: 3px;
331             }
332             &:after {
333                 border-top-color: #FF8482;
334                 border-bottom-color: transparent;
335                 bottom: -6px;
336                 top: auto;
337             }
338         }
339       }
340   }
341   .enable_infobox_dark_stats();
342
343   
344   > .badge {
345         position: absolute;
346         right: 20px;
347         top: 11px;
348         border-radius: 0;
349          
350         text-shadow: none;
351         color: #FFF;
352
353         font-size: @font-size-infobox-badge;
354         font-weight: bold;
355         
356         line-height: 15px;
357         height: 16px;
358             
359         padding: 0 1px;    
360   }
361   
362   .enable_infobox_dark_badge() when (@enable-infobox-dark = true) {
363       &.infobox-dark > .badge {
364             color: #FFF;
365             background-color: rgba(255,255,255,0.2) !important;
366             border: 1px solid #F1F1F1;
367
368             top: 2px;
369             right: 2px;
370
371             &.badge-success > .@{icon}{
372                 color: #C6E9A1;
373             }
374             &.badge-important > .@{icon}{
375                 color: #ECB792;
376             }
377             &.badge-warning > .@{icon}{
378                 color: #ECB792;
379             }
380       }
381   }
382   .enable_infobox_dark_badge();
383
384 }
385
386
387
388
389 .infobox-small {
390     width: 135px;
391     height: 52px;
392     text-align: left;
393  
394     padding-bottom: 5px;
395     
396     > .infobox-icon , > .infobox-chart , > .infobox-progress {
397         display: inline-block;
398         width: 40px;
399         max-width: 40px;
400         height: 42px;
401         line-height: 38px;
402          
403         vertical-align: middle; 
404     }
405     
406     > .infobox-data {
407         display: inline-block;
408         text-align: left;
409          
410         vertical-align: middle;
411         max-width: 72px;
412         min-width: 0;
413     }
414     > .infobox-chart > .sparkline {
415         font-size: floor(@font-size-infobox-sparkline * 0.6);
416         margin-left: 2px;
417     }
418 }
419
420
421
422 }
423 .enable_infobox();
424
425
426 .percentage {
427   font-size: @base-font-size + 1;
428   font-weight: bold;
429   display: inline-block;
430   vertical-align: top;
431   
432   .infobox-small & {
433         font-size: @base-font-size;
434         font-weight: normal;
435         margin-top: 2px;
436         margin-left: 2px;
437    }
438 }
439
440
441