hjg
2023-11-18 bb48edb3d9faaaeab0088151c86fc24137acdb08
提交 | 用户 | 时间
58d006 1 @accordion-border:#CDD8E3;
A 2 @accordion-header-text:@ace-blue;
3 @accordion-header-text-hover:#6EA6CC;
4 @accordion-header-hover-bg:#F1F8FD;
5 @accordion-active-bg:#EEF4F9;
6
7
8 .enable_tabs() when(@enable-tabs = true) {
9
10 .tab-content {
11  border: 1px solid @tab-border;
12  padding: 16px 12px;
13  position: relative;
14  //z-index:11;
15 }
16 .tab-content.no-padding {
17  padding:0;
18 }
19 .tab-content.no-border {
20   border:none;
21   padding:12px;
22 }
23 .tab-content {
24  .tab-paddingX (@index) when (@index >= 0) {
25     &.padding-@{index} { padding:unit(@index,px) unit(ceil(@index * 0.75),px); }
26     &.no-border.padding-@{index} { padding:unit(@index,px); }
27     .tab-paddingX(@index - 2);
28   }
29   .tab-paddingX(32);
30 }
31
32
33 .nav.nav-tabs {
34  .navtab-paddingX (@index) when (@index > 0) {
35     &.padding-@{index} { padding-left:unit(@index,px); }
36     .tabs-right > &.padding-@{index} , .tabs-left > &.padding-@{index} { padding-left:0; padding-top:unit(@index,px); }    
37     .navtab-paddingX(@index - 2);
38   }
39   .navtab-paddingX(32);
40 }
41
42
43 .nav-tabs {
44   border-color: #C5D0DC;
45   margin-bottom: 0 !important;//to override .rtl's
46   margin-left: 0;
47   position: relative;
48   top: 1px;
49   
50   > li {
51     > a {
52         padding: 7px 12px 8px;
53         
54         &,&:focus {
55             border-radius: 0 !important;
56             border-color: @tab-border;
57
58             background-color: #F9F9F9;
59             color: #999;
60
61             margin-right: -1px;
62             line-height: 18px;
63      
64             position:relative;
65             //z-index:11;
66         }
67         &:hover {
68             background-color: #FFF;
69             color: @tab-hover-color;
70             border-color: @tab-border;
71         }
72         &:active, &:focus {
73             outline:none !important;
74         }
75     }//a
76     
77     &:first-child > a {
78         margin-left:0;
79     }
80     
81     &.active > a{
82         &,&:hover,&:focus {
83             color: @tab-active-color;
84             border-color: @tab-border;
85             border-top: 2px solid @tab-active-border;
86             border-bottom-color: transparent;
87             background-color: #FFF;
88
89             z-index: 1;
90             line-height: 18px;
91             margin-top: -1px;
92
93             box-shadow: 0 -2px 3px 0 rgba(0,0,0,0.15);
94         }
95     }
96
97    }
98
99
100    .enable_tab_positions() when(@enable-tab-positions = true) {
101     .tabs-below > & {
102        /* tabs below */
103         top:auto;
104         margin-bottom:0;
105         margin-top:-1px;
106         border-color:@tab-border;
107         border-bottom-width:0;
108         
109         > li {
110             > a {
111                 &,&:hover,&:focus {
112                     border-color:@tab-border;    
113                 }
114             }
115             
116             &.active > a {
117                 &,&:hover,&:focus {
118                      border-color:@tab-border;
119                      border-top-width:1px;
120                      border-bottom:2px solid @tab-active-border;
121                      border-top-color:transparent;
122
123                      margin-top:0;
124                      box-shadow: 0 2px 3px 0 rgba(0,0,0,0.15);
125                 }
126             }
127         }
128      }
129     
130     
131      .tabs-left > & > li > a, .tabs-right > & > li > a {
132         //tabs left
133         min-width:60px;
134      }
135      .tabs-left > & {
136         top:auto;
137          margin-bottom:0;
138          border-color:@tab-border;
139
140          float: left;
141
142          > li {
143             float: none !important;//to override .rtl's
144             
145             > a {
146                 &,&:focus,&:hover {
147                     border-color:@tab-border;
148                     margin:0 -1px 0 0;
149                 }
150             }
151             
152             &.active {
153                 > a {
154                     & , &:focus , &:hover {
155                         border-color: @tab-border;
156                         border-top-width: 1px;
157                         border-left: 2px solid @tab-active-border;
158                         border-right-color: transparent;
159                         margin: 0 -1px 0 -1px;
160                          
161                         .box-shadow(~"-2px 0 3px 0 rgba(0,0,0,0.15)") !important;//to override .rtl's
162                     }
163                 }
164             }
165          }
166      }
167     
168     
169     
170      .tabs-right > & {
171         //tabs right
172         top:auto;
173         margin-bottom: 0;
174         border-color: @tab-border;
175         
176         float: right;
177         
178          > li {
179             float: none !important;//to override RTL's
180             
181             > a {
182                 &,&:focus,&:hover {
183                     border-color: @tab-border;
184                     margin: 0 -1px;
185                 }
186             }
187             
188             &.active {
189                 > a {
190                     &  , &:focus , &:hover {
191                         border-color: @tab-border;
192                         border-top-width: 1px;
193                         border-right: 2px solid @tab-active-border;
194                         border-left-color: transparent;
195                         margin: 0 -2px 0 -1px;
196
197                         .box-shadow(~"2px 0 3px 0 rgba(0,0,0,0.15)");//to override .rtl's
198                     }
199                 }                
200             }
201         }
202      }
203     }
204     .enable_tab_positions();
205     
206     
207     
208     > li > a {
209         //icon and badges
210         .badge {
211             padding: 1px 5px;
212             line-height: 15px;
213             opacity: 0.75;
214             vertical-align: initial;
215         }
216
217         .@{icon} { 
218             opacity: 0.75; 
219         }
220     }
221
222     > li.active > a {
223         .badge , .@{icon} {
224             opacity: 1;
225         }
226     }
227     
228     li .@{icon} {
229          width:1.25em;
230          display:inline-block;
231          text-align:center;
232     }
233
234
235     
236     > li.open .dropdown-toggle {
237         //dropdown in tabs
238         background-color: #4F99C6;
239         border-color: #4F99C6;
240         color: #FFF;
241         
242         > .@{icon} {
243             color:#FFF !important;
244         }
245     }
246 }
247
248 .tabs-left , .tabs-right {
249     .tab-content {
250         overflow: auto;
251     }
252 }
253
254 .nav-pills .open .dropdown-toggle, .nav > li.dropdown.open.active > a:hover, .nav > li.dropdown.open.active > a:focus  {
255     background-color: #4F99C6;
256     border-color: #4F99C6;
257     color: #FFFFFF; 
258     > .@{icon} {
259         color:#FFF !important;
260     }
261 }
262
263
264 .enable_tab_options() when (@enable-tab-options = true) {
265
266
267 /* bigger tab buttons */
268 .nav-tabs > li:not(.active):not(.open) > a:not(:hover) > .@{icon}:first-child.disabled {
269  color:#909090 !important;
270
271
272 /* bigger tab buttons */
273 .nav-tabs.tab-size-bigger > li > a {
274     padding-left:14px;
275     padding-right:14px;
276     
277     > .@{icon}:first-child {
278         display:block;
279         margin-bottom:6px;
280         width:auto;
281     }    
282 }
283
284
285
286
287 //some tab customizations
288
289 //spaced tabs (top & bottom)
290 .nav-tabs.tab-space-1 > li > a {
291     margin-right: 1px;
292 }
293 .nav-tabs.tab-space-2 > li > a {
294     margin-right: 2px;
295 }
296 .nav-tabs.tab-space-3 > li > a {
297     margin-right: 3px;
298 }
299 .nav-tabs.tab-space-4 > li > a {
300     margin-right: 4px;
301 }
302
303
304 //colored tabs
305
306 @tab-color-blue:#7DB4D8;
307
308 .nav-tabs[class*="tab-color-"] > li > a {
309  & , &:focus, &:hover {
310     color: #FFF;
311     border-color: transparent;
312     margin-right: 3px;
313  }
314
315  > .badge {
316     .border-radius(2px);
317  }
318 }
319
320 .nav-tabs[class*="tab-color-"] > li:not(.active) > a {
321     &:hover {
322         opacity:0.85;
323         border-color:rgba(0,0,0,0.15);
324         border-bottom-color:transparent;
325     }
326     > .@{icon}:first-child{
327         color:#FFF !important;
328     }
329     > .badge{
330         color:rgba(0,0,0,0.4) !important;
331         background-color:#FFF !important;
332         .border-radius(2px);
333     }
334 }
335
336 .nav-tabs.tab-color-blue > li > a {
337     & , &:focus {
338         background-color:@tab-color-blue;
339     }
340 }
341
342 .nav-tabs[class*="tab-color-"] > li.active > a {
343     & , &:focus, &:hover {
344         background-color:#FFF;
345         color:darken(desaturate(@tab-color-blue, 20%), 20%);
346         .box-shadow(none) !important;
347     }
348 }
349
350 .nav-tabs.tab-color-blue > li.active > a {
351     & , &:focus, &:hover {
352         color:darken(desaturate(@tab-color-blue, 25%), 25%);
353         border-color:@tab-color-blue @tab-color-blue transparent;
354     }
355     .tabs-below  & {
356         border-color:transparent @tab-color-blue @tab-color-blue;
357     }
358 }
359
360
361 .nav-tabs.tab-color-blue {
362     border-bottom-color:#C5D0DC;
363 }
364
365
366 /* background for tab links */
367 .nav-tabs.background-blue {
368     padding-top:6px;
369     background-color:#EFF3F8;
370     border:1px solid #C5D0DC;
371 }
372
373 .tabs-below .nav-tabs.background-blue {
374     padding-top:0;
375     padding-bottom:6px;
376 }
377 .tabs-below .nav-tabs.tab-color-blue {
378     border-top:none;
379     border-bottom-color:#C5D0DC;
380 }
381
382 }
383 .enable_tab_options();
384
385
386 }
387 .enable_tabs();
388
389
390
391
392
393 //accordion
394 .enable_accordion() when(@enable-accordion = true) {
395 .accordion-style1.panel-group {
396  .panel {
397     border-radius: 0;
398     border-color: @accordion-border;
399     background-color: #FFF;
400     box-shadow: none;
401  
402     &:last-child {
403         border-bottom-width: 1px;
404     }
405
406     .collapse {
407         background-color: #FFF;
408     }
409     
410     + .panel {
411         margin-top:2px;
412     }
413  }
414  .panel-heading + .panel-collapse .panel-body {
415     border-top-color: @accordion-border !important;
416  }
417  
418  .panel-heading {
419     padding:0;
420     
421  }
422
423  .panel-heading .accordion-toggle {
424     color:@tab-hover-color;
425     background-color:@accordion-active-bg;
426     position:relative;
427     font-weight:bold;
428     
429     font-size: @font-size-accordion-toggle;
430     line-height: 1;
431     
432     padding: 10px;
433     display:block;
434  
435     &.collapsed {
436         color:@accordion-header-text;
437         font-weight:normal;
438         background-color:#F9F9F9;
439     }
440
441     &:hover {
442         color:@accordion-header-text-hover;
443         background-color:@accordion-header-hover-bg;
444         text-decoration:none;
445     }
446
447     &:focus,&:active {
448         outline:none;
449         text-decoration:none;
450     }
451  
452  
453     > .@{icon}:first-child {
454         width:16px;
455     }
456     &:hover > .@{icon}:first-child{
457         text-decoration:none;
458     }
459  }
460
461
462 .panel-body , .collapse.in  > .panel-body{
463     border-top:1px solid @accordion-border;
464  }
465
466  &.no-padding {
467     padding:0;
468  }
469 }
470
471
472
473
474
475
476 //style2, used in faq, etc...
477 .enable_accordion_style_2() when (@enable-accordion-style-2 = true) {
478 .accordion-style2.panel-group {
479  .panel {
480     border-width:0;
481     &:last-child {
482         border-bottom-width: 0;
483     }
484     
485     + .panel {
486         margin-top:4px;
487     }
488     
489     .panel-body {
490         border-top:none;
491     }
492  }
493  
494  .panel-heading .accordion-toggle {
495     background-color:#EDF3F7;
496
497     border:2px solid #6EAED1;
498     border-width:0 0 0 2px;
499     
500     &:hover {
501         text-decoration:none;
502     }
503     
504     &.collapsed {
505         background-color:#F3F3F3;
506         color:#606060;
507         border-width:0 0 0 1px;
508         border-color:#D9D9D9;
509         
510         &:hover {
511             background-color:#F6F6F6;
512             color:#438EB9;
513             text-decoration:none;
514         }
515     }
516  }
517  
518
519 .panel-body , .collapse.in  > .panel-body{
520     border-top:none;
521  }
522  
523 }
524
525
526
527 //nested questions 
528 .accordion-style2.panel-group .accordion-style2.panel-group {
529  .panel  {
530     border-bottom:1px dotted #D9D9D9;
531     &:last-child  {
532         border-bottom:none;
533     }
534     
535     .panel-heading , .panel-heading .accordion-toggle {
536         background-color: transparent;
537         border-width: 0;
538         font-size: @font-size-accordion-toggle;
539         
540         padding-top: 6px;
541         padding-bottom: 8px;
542     }
543     .panel-heading {
544         padding-top:0; padding-bottom:0;
545     }
546  }
547 }
548 }
549 .enable_accordion_style_2();
550
551 }
552 .enable_accordion();