##// END OF EJS Templates
Style list containing checkboxes in responsive sidebar flyout menu (#21170)....
Jean-Philippe Lang -
r14477:d9a3e7e25836
parent child
Show More
@@ -1,788 +1,827
1 1 /*----------------------------------------*\
2 2 RESPONSIVE CSS
3 3 \*----------------------------------------*/
4 4
5 5
6 6 /*
7 7
8 8 CONTENTS
9 9
10 10 A) BASIC MOBILE RESETS
11 11 B) HEADER & TOP MENUS
12 12 C) MAIN CONTENT & SIDEBAR
13 13 D) TOGGLE BUTTON & FLYOUT MENU
14 14 E) UX ELEMENTS
15 15 F) PAGE SPECIFIC STYLES
16 16 G) FORMS
17 17
18 18 */
19 19
20 20
21 21 /* Hide new elements (toggle button and flyout menu) above 900px */
22 22 .mobile-toggle-button,
23 23 .flyout-menu
24 24 {
25 25 display: none;
26 26 }
27 27
28 28 /*
29 29 redmine's body is set to min-width: 900px
30 30 add first breakpoint here and start adding responsiveness
31 31 */
32 32
33 33 @media all and (max-width: 899px)
34 34 {
35 35 /*----------------------------------------*\
36 36 A) BASIC MOBILE RESETS
37 37 \*----------------------------------------*/
38 38
39 39 /*
40 40 apply natural border box, see: http://www.paulirish.com/2012/box-sizing-border-box-ftw/
41 41 this helps us to better deal with percentages and padding / margin
42 42 */
43 43 *,
44 44 *:before,
45 45 *:after
46 46 {
47 47 -webkit-box-sizing: border-box;
48 48 -moz-box-sizing: border-box;
49 49 box-sizing: border-box;
50 50 }
51 51
52 52 body,
53 53 html
54 54 {
55 55 height: 100%;
56 56 margin: 0;
57 57 padding: 0;
58 58 }
59 59
60 60 html
61 61 {
62 62 overflow-y: auto; /* avoid 2nd scrollbar on desktop */
63 63 }
64 64
65 65 body
66 66 {
67 67 min-width: 0; /* reset the min-width of 900px */
68 68
69 69 -webkit-overflow-scrolling: touch;
70 70 }
71 71
72 72
73 73 body,
74 74 input,
75 75 select,
76 76 textarea,
77 77 button
78 78 {
79 79 font-size: 14px; /* Set font-size for standard elements to 14px */
80 80 }
81 81
82 82
83 83 select
84 84 {
85 85 max-width: 100%; /* prevent long names within select menues from breaking content */
86 86 }
87 87
88 88
89 89 #wrapper
90 90 {
91 91 position: relative;
92 92
93 93 overflow-x: hidden; /* hide horizontal overflow */
94 94
95 95 max-width: 100%;
96 96 }
97 97
98 98 #wrapper,
99 99 #wrapper2
100 100 {
101 101 margin: 0;
102 102 }
103 103
104 104 /*----------------------------------------*\
105 105 B) HEADER & TOP MENUS
106 106 \*----------------------------------------*/
107 107
108 108 #header
109 109 {
110 110 width: 100%;
111 111 height: 64px; /* the height of our header on mobile */
112 112 min-height: 0;
113 113 margin: 0;
114 114 padding: 0;
115 115
116 116 border: none;
117 117 background-color: #628db6;
118 118 }
119 119
120 120 /* Hide project name on mobile (project name is still visible in select menu) */
121 121 #header h1
122 122 {
123 123 display: none !important;
124 124 }
125 125
126 126 /* reset #header a color for mobile toggle button */
127 127 #header a.mobile-toggle-button
128 128 {
129 129 color: #f8f8f8;
130 130 }
131 131
132 132
133 133 /* Hide top-menu and main-menu on mobile, because it's placed in our flyout menu */
134 134 #top-menu,
135 135 #header #main-menu
136 136 {
137 137 display: none;
138 138 }
139 139
140 140 /* the quick search within header holding search form and #project_quick_jump_box box*/
141 141 #header #quick-search
142 142 {
143 143 float: none;
144 144 clear: none; /* there are themes which set clear property, this resets it */
145 145
146 146 max-width: 100%; /* reset max-width */
147 147 margin: 0;
148 148
149 149 background: inherit;
150 150 }
151 151
152 152 /* this represents the dropdown arrow to left of the mobile project menu */
153 153 #header .jump-box-arrow:before
154 154 {
155 155 /* set a font-size in order to achive same result in different themes */
156 156 font-family: Verdana, sans-serif;
157 157 font-size: 2em;
158 158 line-height: 64px;
159 159
160 160 position: absolute;
161 161 left: 0;
162 162
163 163 width: 2em;
164 164 padding: 0 .5em;
165 165 /* achieve dropdwon arrow by scaling a caret character */
166 166
167 167 content: '^';
168 168 -webkit-transform: scale(1,-.8);
169 169 -ms-transform: scale(1,-.8);
170 170 transform: scale(1,-.8);
171 171 text-align: right;
172 172 pointer-events: none;
173 173
174 174 opacity: .6;
175 175 }
176 176
177 177 /* styles for combobox within quick-search (#project_quick_jump_box) */
178 178 #header #quick-search select
179 179 {
180 180 font-size: 1.5em;
181 181 font-weight: bold;
182 182 line-height: 1.2;
183 183
184 184 position: absolute;
185 185 top: 15px;
186 186 left: 0;
187 187
188 188 float: left;
189 189
190 190 width: 100%;
191 191 max-width: 100%;
192 192 height: 2em;
193 193 height: 35px;
194 194 padding: 5px;
195 195 padding-right: 72px;
196 196 padding-left: 50px;
197 197
198 198 text-indent: .01px;
199 199
200 200 color: inherit;
201 201 border: 0;
202 202 -webkit-border-radius: 0;
203 203 border-radius: 0;
204 204 background: none;
205 205 -webkit-box-shadow: none;
206 206 box-shadow: none;
207 207 /* hide default browser arrow */
208 208
209 209 -webkit-appearance: none;
210 210 -moz-appearance: none;
211 211 }
212 212
213 213 #header #quick-search form
214 214 {
215 215 display: none;
216 216 }
217 217
218 218 /*----------------------------------------*\
219 219 C) MAIN CONTENT & SIDEBAR
220 220 \*----------------------------------------*/
221 221
222 222 #main
223 223 {
224 224 padding: 0;
225 225 }
226 226
227 227 #main.nosidebar #content,
228 228 div#content
229 229 {
230 230 width: 100%;
231 231 min-height: 0; /* reset min-height of #content */
232 232 margin: 0;
233 233 }
234 234
235 235
236 236 /* hide sidebar and sidebar switch panel, since it's placed in mobile flyout menu */
237 237 #sidebar,
238 238 #sidebar-switch-panel
239 239 {
240 240 display: none;
241 241 }
242 242
243 243 .splitcontentleft
244 244 {
245 245 width: 100%; /* use full width */
246 246 }
247 247
248 248 .splitcontentright
249 249 {
250 250 width: 100%; /* use full width */
251 251 }
252 252
253 253 /*----------------------------------------*\
254 254 D) TOGGLE BUTTON & FLYOUT MENU
255 255 \*----------------------------------------*/
256 256
257 257 /* Mobile toggle button */
258 258
259 259 .mobile-toggle-button
260 260 {
261 261 font-size: 42px;
262 262 line-height: 64px;
263 263
264 264 position: relative;
265 265 z-index: 10;
266 266
267 267 display: block; /* remove display: none; of non-mobile version */
268 268 float: right;
269 269
270 270 width: 60px;
271 271 height: 64px;
272 272 margin-top: 0;
273 273
274 274 text-align: center;
275 275
276 276 border-left: 1px solid #ddd;
277 277 }
278 278
279 279 .mobile-toggle-button:hover,
280 280 .mobile-toggle-button:active
281 281 {
282 282 text-decoration: none;
283 283 }
284 284
285 285 .mobile-toggle-button:after
286 286 {
287 287 font-family: Verdana, sans-serif;
288 288
289 289 display: block;
290 290
291 291 margin-top: -3px;
292 292
293 293 content: '\2261';
294 294 }
295 295
296 296 /* search magnifier icon */
297 297 .search-magnifier
298 298 {
299 299 font-family: Verdana;
300 300
301 301 cursor: pointer;
302 302 -webkit-transform: rotate(-45deg);
303 303 -moz-transform: rotate(45deg);
304 304 -o-transform: rotate(45deg);
305 305
306 306 color: #bbb;
307 307 }
308 308
309 309 .search-magnifier--flyout
310 310 {
311 311 font-size: 25px;
312 312 line-height: 54px;
313 313
314 314 position: absolute;
315 315 z-index: 1;
316 316 left: 12px;
317 317 }
318 318
319 319
320 320 /* Flyout Menu */
321 321
322 322 .flyout-menu
323 323 {
324 324 position: absolute;
325 325 right: -250px;
326 326
327 327 display: block; /* remove display: none; of non-mobile version */
328 328 overflow-x: hidden;
329 329
330 330 width: 250px;
331 331 height: 100%;
332 332 margin: 0; /* reset margin for themes that define it */
333 333 padding: 0; /* reset padding for themes that define it */
334 334
335 335 color: white;
336 336 background-color: #3e5b76;
337 337 }
338 338
339 339
340 340 /* avoid zoom on search input focus for ios devices */
341 341 .flyout-menu input[type='text']
342 342 {
343 343 font-size: 16px;
344 344 }
345 345
346 346 .flyout-menu h3
347 347 {
348 348 font-size: 11px;
349 349 line-height: 19px;
350 350
351 351 height: 20px;
352 352 margin: 0;
353 353 padding: 0;
354 354
355 355 letter-spacing: .1em;
356 356 text-transform: uppercase;
357 357
358 358 color: white;
359 359 border-top: 1px solid #506a83;
360 360 border-bottom: 1px solid #506a83;
361 361 background-color: #628db6;
362 362 }
363 363
364 364 .flyout-menu h4
365 365 {
366 366 color: white;
367 367 }
368 368
369 369 .flyout-menu h3,
370 370 .flyout-menu h4,
371 371 .flyout-menu > p,
372 372 .flyout-menu > a,
373 373 .flyout-menu ul li a,
374 374 .flyout-menu__search,
375 375 .flyout-menu__sidebar > div,
376 376 .flyout-menu__sidebar > p,
377 377 .flyout-menu__sidebar > a,
378 378 .flyout-menu__sidebar > form,
379 379 .flyout-menu > div,
380 380 .flyout-menu > form
381 381 {
382 382 padding-left: 8px;
383 383 }
384 384
385 385 .flyout-menu .flyout-menu__avatar
386 386 {
387 387 margin-top: -1px; /* move avatar up 1px */
388 388 padding-left: 0;
389 389 }
390 390
391 391 .flyout-menu__sidebar > form
392 392 {
393 393 display: block;
394 394 }
395 395
396 396 .flyout-menu__sidebar > form h3
397 397 {
398 398 margin-left: -8px;
399 399 }
400 400
401 401 .flyout-menu__sidebar > form label
402 402 {
403 403 display: inline-block;
404 404
405 405 margin: 8px 0;
406 406 }
407 407
408 408 .flyout-menu__sidebar > form br br
409 409 {
410 410 display: none;
411 411 }
412 412
413 /* Targets list containing checkboxes (e.g. activities sidebar) in flyout menu */
414 .flyout-menu__sidebar form > ul
415 {
416 margin-left: -8px;
417 padding-left: 0;
418 }
419
420 .flyout-menu__sidebar form > ul li
421 {
422 line-height: 39px;
423
424 display: block;
425
426 padding-left: 8px;
427
428 border-top: 1px solid rgba(255,255,255,.1);
429 }
430
431 .flyout-menu__sidebar form > ul li:first-child
432 {
433 border-top: none;
434 }
435
436 .flyout-menu__sidebar form > ul li label
437 {
438 margin: 0;
439 }
440
441 .flyout-menu__sidebar form > ul li label a
442 {
443 line-height: 1;
444
445 display: inline;
446
447 padding-left: 0;
448
449 border: none;
450 }
451
413 452 .flyout-menu ul
414 453 {
415 454 margin: 0;
416 455 padding: 0;
417 456
418 457 list-style: none;
419 458 }
420 459
421 460 .flyout-menu #watchers
422 461 {
423 462 display: -webkit-flex;
424 463 display: -ms-flexbox;
425 464 display: -webkit-box;
426 465 display: flex;
427 466 flex-direction: column;
428 467
429 468 -webkit-flex-direction: column;
430 469 -ms-flex-direction: column;
431 470 -webkit-box-orient: vertical;
432 471 -webkit-box-direction: normal;
433 472 }
434 473
435 474 .flyout-menu #watchers .contextual
436 475 {
437 476 -webkit-box-ordinal-group: 4;
438 477 -webkit-order: 3;
439 478 -ms-flex-order: 3;
440 479 order: 3;
441 480 }
442 481
443 482 .flyout-menu #watchers h3
444 483 {
445 484 margin-left: -8px;
446 485 }
447 486
448 487 .flyout-menu #watchers ul li
449 488 {
450 489 display: -webkit-flex;
451 490 display: -ms-flexbox;
452 491 display: -webkit-box;
453 492 display: flex;
454 493 flex-direction: row;
455 494
456 495 -webkit-flex-direction: row;
457 496 -ms-flex-direction: row;
458 497 -webkit-box-orient: horizontal;
459 498 -webkit-box-direction: normal;
460 499 -webkit-align-items: center;
461 500 -ms-flex-align: center;
462 501 -webkit-box-align: center;
463 502 align-items: center;
464 503 }
465 504
466 505 .flyout-menu ul li a
467 506 {
468 507 line-height: 40px;
469 508
470 509 display: block;
471 510 overflow: hidden;
472 511
473 512 height: 40px;
474 513
475 514 white-space: nowrap;
476 515 text-overflow: ellipsis;
477 516
478 517 border-top: 1px solid rgba(255,255,255,.1);
479 518 }
480 519
481 520 .flyout-menu ul li:first-child a
482 521 {
483 522 line-height: 39px;
484 523
485 524 height: 39px;
486 525
487 526 border-top: none;
488 527 }
489 528
490 529 .flyout-menu a
491 530 {
492 531 color: white;
493 532 }
494 533
495 534 .flyout-menu ul li a:hover
496 535 {
497 536 text-decoration: none;
498 537 }
499 538
500 539 .flyout-menu ul li a.new-object,
501 540 .new-object ~ .menu-children
502 541 {
503 542 display: none;
504 543 }
505 544
506 545 /* Left flyout search container */
507 546 .flyout-menu__search
508 547 {
509 548 line-height: 54px;
510 549
511 550 height: 64px;
512 551 padding-top: 3px;
513 552 padding-right: 8px;
514 553 }
515 554
516 555 .flyout-menu__search input[type='text']
517 556 {
518 557 line-height: 2;
519 558
520 559 width: 100%;
521 560 height: 38px;
522 561 padding-left: 27px;
523 562
524 563 vertical-align: middle;
525 564
526 565 border: none;
527 566 -webkit-border-radius: 3px;
528 567 border-radius: 3px;
529 568 background-color: #fff;
530 569 }
531 570
532 571 .flyout-menu__avatar
533 572 {
534 573 display: -webkit-box;
535 574 display: -webkit-flex;
536 575 display: -ms-flexbox;
537 576 display: flex;
538 577
539 578 width: 100%;
540 579
541 580 border-top: 1px solid rgba(255,255,255,.1);
542 581 }
543 582
544 583
545 584 .flyout-menu__avatar img.gravatar
546 585 {
547 586 width: 40px;
548 587 height: 40px;
549 588 padding: 0;
550 589
551 590 vertical-align: top;
552 591
553 592 border-width: 0;
554 593 }
555 594
556 595 .flyout-menu__avatar a
557 596 {
558 597 line-height: 40px;
559 598
560 599 height: auto;
561 600 height: 40px;
562 601
563 602 text-decoration: none;
564 603
565 604 color: white;
566 605 }
567 606
568 607 /* avatar */
569 608 .flyout-menu__avatar a:first-child
570 609 {
571 610 line-height: 0;
572 611
573 612 width: 40px;
574 613 padding: 0;
575 614 }
576 615
577 616 .flyout-menu__avatar .user
578 617 {
579 618 padding-left: 15px;
580 619 }
581 620
582 621 /* user link when no avatar is present */
583 622 .flyout-menu__avatar--no-avatar a.user
584 623 {
585 624 line-height: 40px;
586 625
587 626 padding-left: 8px;
588 627 }
589 628
590 629
591 630 .flyout-is-active body
592 631 {
593 632 overflow: hidden; /* for body not to have scrollbars when left flyout menu is active */
594 633 }
595 634
596 635 html.flyout-is-active
597 636 {
598 637 overflow: hidden;
599 638 }
600 639
601 640
602 641 .flyout-is-active #wrapper
603 642 {
604 643 right: 250px; /* when left flyout is active, move body to the right (same amount like flyout-menu's width) */
605 644
606 645 overflow: visible;
607 646
608 647 height: 100%;
609 648 }
610 649
611 650 .flyout-is-active .mobile-toggle-button:after
612 651 {
613 652 content: '\00D7'; /* close glyph */
614 653 }
615 654
616 655 .flyout-is-active #wrapper2
617 656 {
618 657
619 658 /*
620 659 * only relevant for devices with cursor when flyout it active, in order to show,
621 660 * that whole wrapper content is clickable and closes flyout menu
622 661 */
623 662 cursor: pointer;
624 663 }
625 664
626 665
627 666 #admin-menu
628 667 {
629 668 padding-left: 0;
630 669 }
631 670
632 671 #admin-menu li
633 672 {
634 673 padding-bottom: 0;
635 674 }
636 675
637 676 #admin-menu a,
638 677 #admin-menu a.selected
639 678 {
640 679 line-height: 40px;
641 680
642 681 padding: 0;
643 682 padding-left: 32px !important;
644 683
645 684 background-position: 8px 50%;
646 685 }
647 686
648 687 /*----------------------------------------*\
649 688 E) UX ELEMENTS
650 689 \*----------------------------------------*/
651 690
652 691 .mobile-hide {display:none;}
653 692 .mobile-show {display:initial;}
654 693
655 694 /* Contextual Buttons */
656 695
657 696 #content>.contextual
658 697 {
659 698 width: 100%;
660 699 margin-bottom: .5em;
661 700 padding-left: 0; /* reset left padding in order to use whole space */
662 701
663 702 white-space: normal;
664 703
665 704 color: transparent;
666 705 }
667 706
668 707 #content>.contextual a,
669 708 p.buttons a
670 709 {
671 710 font-weight: bold;
672 711
673 712 display: inline-block;
674 713
675 714 margin: 5px 0;
676 715 margin-right: 2px;
677 716 padding: 9px 9px 9px 9px;
678 717
679 718 border: 1px solid #ddd;
680 719 -webkit-border-radius: 3px;
681 720 border-radius: 3px;
682 721 background-color: transparent;
683 722 background-position-x: 4px;
684 723 }
685 724
686 725 #content>.contextual a.icon,
687 726 p.buttons a.icon
688 727 {
689 728 padding-left: 25px;
690 729 }
691 730
692 731 .flyout-menu .contextual
693 732 {
694 733 float: none;
695 734 }
696 735
697 736 /* loading indicator */
698 737 #ajax-indicator {
699 738 width: 60%;
700 739 left: 20%;
701 740 }
702 741
703 742 /* jquery ui dialogs */
704 743 .ui-dialog
705 744 {
706 745 max-width: 98%;
707 746 margin: 1%;
708 747 }
709 748
710 749 .ui-dialog .ui-dialog-content
711 750 {
712 751 padding-left: 0;
713 752 padding-right: 0;
714 753 }
715 754
716 755 #filters-table {width:100%; float:none;}
717 756 .add-filter {width:100%; float:none; text-align: left; margin-top: 8px;}
718 757
719 758 /*----------------------------------------*\
720 759 F) PAGE SPECIFIC STYLES
721 760 \*----------------------------------------*/
722 761
723 762 /* page /login */
724 763
725 764 #login-form table
726 765 {
727 766 width: 100%;
728 767 }
729 768
730 769 #login-form input#username,
731 770 #login-form input#password,
732 771 #login-form input#openid_url
733 772 {
734 773 width: 100%;
735 774 height: auto;
736 775 }
737 776
738 777 /* some themes add a margin to login page, remove it on mobile */
739 778 .action-login #main
740 779 {
741 780 margin: 0;
742 781 }
743 782
744 783 div#activity dl, #search-results { margin-left: 0; }
745 784
746 785 .version-overview table.progress {width:75%;}
747 786 div#version-summary {float:none; width:100%; margin-left:0;}
748 787 body.controller-versions.action-show div#roadmap .related-issues {width:100%;}
749 788
750 789 /*----------------------------------------*\
751 790 G) FORMS
752 791 \*----------------------------------------*/
753 792
754 793 /* tabular forms resets for mobile */
755 794 .tabular p, .tabular.settings p {
756 795 padding-left: 0;
757 796 }
758 797
759 798 .tabular label, .tabular.settings label {
760 799 display: block;
761 800 width: 100%;
762 801 margin-left: 0;
763 802 text-align: left;
764 803 }
765 804
766 805 .tabular input, .tabular select, .tabular textarea {
767 806 width: 100%;
768 807 max-width: 100%;
769 808 }
770 809
771 810 .tabular input[type="checkbox"], .tabular input.date {
772 811 width: auto;
773 812 max-width: 95%;
774 813 }
775 814
776 815 /* new issue form */
777 816 #all_attributes p:first-child {
778 817 float: none !important;
779 818 }
780 819
781 820 #issue_is_private_label {
782 821 display: inline;
783 822 }
784 823
785 824 span#watchers_inputs {
786 825 width: 100%;
787 826 }
788 827 }
General Comments 0
You need to be logged in to leave comments. Login now