Dotclear

source: admin/style/scss/vendor/_magnific-popup.scss @ 3370:c5ade98a8cbd

Revision 3370:c5ade98a8cbd, 12.7 KB checked in by franck <carnet.franck.paul@…>, 9 years ago (diff)

Switch magnific-popup jQuery plugin CSS to Sass/Compass?

Line 
1/* Magnific Popup CSS */
2
3////////////////////////
4//      Settings      //
5////////////////////////
6
7// overlay
8$mfp-overlay-color:                   #0b0b0b !default;                    // Color of overlay screen
9$mfp-overlay-opacity:                 0.8 !default;                        // Opacity of overlay screen
10$mfp-shadow:                          0 0 8px rgba(0, 0, 0, 0.6) !default; // Shadow on image or iframe
11
12// spacing
13$mfp-popup-padding-left:              8px !default;                        // Padding from left and from right side
14$mfp-popup-padding-left-mobile:       6px !default;                        // Same as above, but is applied when width of window is less than 800px
15
16$mfp-z-index-base:                    1040 !default;                       // Base z-index of popup
17
18// controls
19$mfp-include-arrows:                  true !default;                       // Include styles for nav arrows
20$mfp-controls-opacity:                0.65 !default;                       // Opacity of controls
21$mfp-controls-color:                  #FFF !default;                       // Color of controls
22$mfp-controls-border-color:           #3F3F3F !default;                    // Border color of controls
23$mfp-inner-close-icon-color:          #333 !default;                       // Color of close button when inside
24$mfp-controls-text-color:             #CCC !default;                       // Color of preloader and "1 of X" indicator
25$mfp-controls-text-color-hover:       #FFF !default;                       // Hover color of preloader and "1 of X" indicator
26
27// Iframe-type options
28$mfp-include-iframe-type:             true !default;                       // Enable Iframe-type popups
29$mfp-iframe-padding-top:              40px !default;                       // Iframe padding top
30$mfp-iframe-background:               #000 !default;                       // Background color of iframes
31$mfp-iframe-max-width:                98%; // 900px !default;                      // Maximum width of iframes
32$mfp-iframe-ratio:                    9/16 !default;                       // Ratio of iframe (9/16 = widescreen, 3/4 = standard, etc.)
33
34// Image-type options
35$mfp-include-image-type:              true !default;                       // Enable Image-type popups
36$mfp-image-background:                #444 !default;
37$mfp-image-padding-top:               40px !default;                       // Image padding top
38$mfp-image-padding-bottom:            40px !default;                       // Image padding bottom
39$mfp-include-mobile-layout-for-image: true !default;                       // Removes paddings from top and bottom
40
41// Image caption options
42$mfp-caption-title-color:             #F3F3F3 !default;                    // Caption title color
43$mfp-caption-subtitle-color:          #BDBDBD !default;                    // Caption subtitle color
44
45// A11y
46$mfp-use-visuallyhidden:              false !default;                      // Hide content from browsers, but make it available for screen readers
47
48////////////////////////
49//
50// Contents:
51//
52// 1. General styles
53//    - Transluscent overlay
54//    - Containers, wrappers
55//    - Cursors
56//    - Helper classes
57// 2. Appearance
58//    - Preloader & text that displays error messages
59//    - CSS reset for buttons
60//    - Close icon
61//    - "1 of X" counter
62//    - Navigation (left/right) arrows
63//    - Iframe content type styles
64//    - Image content type styles
65//    - Media query where size of arrows is reduced
66//    - IE7 support
67//
68////////////////////////
69
70
71
72////////////////////////
73// 1. General styles
74////////////////////////
75
76// Transluscent overlay
77.mfp-bg {
78  top: 0;
79  left: 0;
80  width: 100%;
81  height: 100%;
82  z-index: $mfp-z-index-base + 2;
83  overflow: hidden;
84  position: fixed;
85
86  background: $mfp-overlay-color;
87  opacity: $mfp-overlay-opacity;
88}
89
90// Wrapper for popup
91.mfp-wrap {
92  top: 0;
93  left: 0;
94  width: 100%;
95  height: 100%;
96  z-index: $mfp-z-index-base + 3;
97  position: fixed;
98  outline: none !important;
99  -webkit-backface-visibility: hidden; // fixes webkit bug that can cause "false" scrollbar
100}
101
102// Root container
103.mfp-container {
104  text-align: center;
105  position: absolute;
106  width: 100%;
107  height: 100%;
108  left: 0;
109  top: 0;
110  padding: 0 $mfp-popup-padding-left;
111  box-sizing: border-box;
112}
113
114// Vertical centerer helper
115.mfp-container {
116  &:before {
117    content: '';
118    display: inline-block;
119    height: 100%;
120    vertical-align: middle;
121  }
122}
123
124// Remove vertical centering when popup has class `mfp-align-top`
125.mfp-align-top {
126  .mfp-container {
127    &:before {
128      display: none;
129    }
130  }
131}
132
133// Popup content holder
134.mfp-content {
135  position: relative;
136  display: inline-block;
137  vertical-align: middle;
138  margin: 0 auto;
139  text-align: left;
140  z-index: $mfp-z-index-base + 5;
141}
142.mfp-inline-holder,
143.mfp-ajax-holder {
144  .mfp-content {
145    width: 100%;
146    cursor: auto;
147  }
148}
149
150// Cursors
151.mfp-ajax-cur {
152  cursor: progress;
153}
154.mfp-zoom-out-cur {
155  &, .mfp-image-holder .mfp-close {
156    cursor: -moz-zoom-out;
157    cursor: -webkit-zoom-out;
158    cursor: zoom-out;
159  }
160}
161.mfp-zoom {
162  cursor: pointer;
163  cursor: -webkit-zoom-in;
164  cursor: -moz-zoom-in;
165  cursor: zoom-in;
166}
167.mfp-auto-cursor {
168  .mfp-content {
169    cursor: auto;
170  }
171}
172
173.mfp-close,
174.mfp-arrow,
175.mfp-preloader,
176.mfp-counter {
177  -webkit-user-select:none;
178  -moz-user-select: none;
179  user-select: none;
180}
181
182// Hide the image during the loading
183.mfp-loading {
184  &.mfp-figure {
185    display: none;
186  }
187}
188
189// Helper class that hides stuff
190@if $mfp-use-visuallyhidden {
191  // From HTML5 Boilerplate https://github.com/h5bp/html5-boilerplate/blob/v4.2.0/doc/css.md#visuallyhidden
192  .mfp-hide {
193    border: 0 !important;
194    clip: rect(0 0 0 0) !important;
195    height: 1px !important;
196    margin: -1px !important;
197    overflow: hidden !important;
198    padding: 0 !important;
199    position: absolute !important;
200    width: 1px !important;
201  }
202} @else {
203  .mfp-hide {
204    display: none !important;
205  }
206}
207
208
209////////////////////////
210// 2. Appearance
211////////////////////////
212
213// Preloader and text that displays error messages
214.mfp-preloader {
215  color: $mfp-controls-text-color;
216  position: absolute;
217  top: 50%;
218  width: auto;
219  text-align: center;
220  margin-top: -0.8em;
221  left: 8px;
222  right: 8px;
223  z-index: $mfp-z-index-base + 4;
224  a {
225    color: $mfp-controls-text-color;
226    &:hover {
227      color: $mfp-controls-text-color-hover;
228    }
229  }
230}
231
232// Hide preloader when content successfully loaded
233.mfp-s-ready {
234  .mfp-preloader {
235    display: none;
236  }
237}
238
239// Hide content when it was not loaded
240.mfp-s-error {
241  .mfp-content {
242    display: none;
243  }
244}
245
246// CSS-reset for buttons
247button {
248  &.mfp-close,
249  &.mfp-arrow {
250    overflow: visible;
251    cursor: pointer;
252    background: transparent;
253    border: 0;
254    -webkit-appearance: none;
255    display: block;
256    outline: none;
257    padding: 0;
258    z-index: $mfp-z-index-base + 6;
259    box-shadow: none;
260    touch-action: manipulation;
261  }
262  &::-moz-focus-inner {
263      padding: 0;
264      border: 0
265  }
266}
267
268
269// Close icon
270.mfp-close {
271  width: 44px;
272  height: 44px;
273  line-height: 44px;
274
275  position: absolute;
276  right: 0;
277  top: 0;
278  text-decoration: none;
279  text-align: center;
280  opacity: $mfp-controls-opacity;
281  padding: 0 0 18px 10px;
282  color: $mfp-controls-color;
283
284  font-style: normal;
285  font-size: 28px;
286  font-family: Arial, Baskerville, monospace;
287
288  &:hover,
289  &:focus {
290    opacity: 1;
291  }
292
293  &:active {
294    top: 1px;
295  }
296}
297.mfp-close-btn-in {
298  .mfp-close {
299    color: $mfp-inner-close-icon-color;
300  }
301}
302.mfp-image-holder,
303.mfp-iframe-holder {
304  .mfp-close {
305    color: $mfp-controls-color;
306    right: -6px;
307    text-align: right;
308    padding-right: 6px;
309    width: 100%;
310  }
311}
312
313// "1 of X" counter
314.mfp-counter {
315  position: absolute;
316  top: 0;
317  right: 0;
318  color: $mfp-controls-text-color;
319  font-size: 12px;
320  line-height: 18px;
321  white-space: nowrap;
322}
323
324// Navigation arrows
325@if $mfp-include-arrows {
326  .mfp-arrow {
327    position: absolute;
328    opacity: $mfp-controls-opacity;
329    margin: 0;
330    top: 50%;
331    margin-top: -55px;
332    padding: 0;
333    width: 90px;
334    height: 110px;
335    -webkit-tap-highlight-color: rgba(0,0,0,0);
336    &:active {
337      margin-top: -54px;
338    }
339    &:hover,
340    &:focus {
341      opacity: 1;
342    }
343    &:before,
344    &:after {
345      content: '';
346      display: block;
347      width: 0;
348      height: 0;
349      position: absolute;
350      left: 0;
351      top: 0;
352      margin-top: 35px;
353      margin-left: 35px;
354      border: medium inset transparent;
355    }
356
357    &:after {
358
359      border-top-width: 13px;
360      border-bottom-width: 13px;
361      top:8px;
362    }
363
364    &:before {
365      border-top-width: 21px;
366      border-bottom-width: 21px;
367      opacity: 0.7;
368    }
369
370  }
371
372  .mfp-arrow-left {
373    left: 0;
374    &:after {
375      border-right: 17px solid $mfp-controls-color;
376      margin-left: 31px;
377    }
378    &:before {
379      margin-left: 25px;
380      border-right: 27px solid $mfp-controls-border-color;
381    }
382  }
383
384  .mfp-arrow-right {
385    right: 0;
386    &:after {
387      border-left: 17px solid $mfp-controls-color;
388      margin-left: 39px
389    }
390    &:before {
391      border-left: 27px solid $mfp-controls-border-color;
392    }
393  }
394}
395
396
397
398// Iframe content type
399@if $mfp-include-iframe-type {
400  .mfp-iframe-holder {
401    padding-top: $mfp-iframe-padding-top;
402    padding-bottom: $mfp-iframe-padding-top;
403    .mfp-content {
404      line-height: 0;
405      width: 100%;
406      max-width: $mfp-iframe-max-width;
407    }
408    .mfp-close {
409      top: -40px;
410    }
411  }
412  .mfp-iframe-scaler {
413    width: 100%;
414    height: 0;
415    overflow: hidden;
416    padding-top: $mfp-iframe-ratio * 100%;
417    iframe {
418      position: absolute;
419      display: block;
420      top: 0;
421      left: 0;
422      width: 100%;
423      height: 100%;
424      box-shadow: $mfp-shadow;
425      background: $mfp-iframe-background;
426    }
427  }
428}
429
430
431
432// Image content type
433@if $mfp-include-image-type {
434
435  /* Main image in popup */
436  img {
437    &.mfp-img {
438      width: auto;
439      max-width: 100%;
440      height: auto;
441      display: block;
442      line-height: 0;
443      box-sizing: border-box;
444      padding: $mfp-image-padding-top 0 $mfp-image-padding-bottom;
445      margin: 0 auto;
446    }
447  }
448
449  /* The shadow behind the image */
450  .mfp-figure {
451    line-height: 0;
452    &:after {
453      content: '';
454      position: absolute;
455      left: 0;
456      top: $mfp-image-padding-top;
457      bottom: $mfp-image-padding-bottom;
458      display: block;
459      right: 0;
460      width: auto;
461      height: auto;
462      z-index: -1;
463      box-shadow: $mfp-shadow;
464      background: $mfp-image-background;
465    }
466    small {
467      color: $mfp-caption-subtitle-color;
468      display: block;
469      font-size: 12px;
470      line-height: 14px;
471    }
472    figure {
473      margin: 0;
474    }
475  }
476  .mfp-bottom-bar {
477    margin-top: -$mfp-image-padding-bottom + 4;
478    position: absolute;
479    top: 100%;
480    left: 0;
481    width: 100%;
482    cursor: auto;
483  }
484  .mfp-title {
485    text-align: left;
486    line-height: 18px;
487    color: $mfp-caption-title-color;
488    word-wrap: break-word;
489    padding-right: 36px; // leave some space for counter at right side
490  }
491
492  .mfp-image-holder {
493    .mfp-content {
494      max-width: 100%;
495    }
496  }
497
498  .mfp-gallery {
499    .mfp-image-holder {
500      .mfp-figure {
501        cursor: pointer;
502      }
503    }
504  }
505
506
507  @if $mfp-include-mobile-layout-for-image {
508    @media screen and (max-width: 800px) and (orientation:landscape), screen and (max-height: 300px) {
509      /**
510       * Remove all paddings around the image on small screen
511       */
512      .mfp-img-mobile {
513        .mfp-image-holder {
514          padding-left: 0;
515          padding-right: 0;
516        }
517        img {
518          &.mfp-img {
519            padding: 0;
520          }
521        }
522        .mfp-figure {
523          // The shadow behind the image
524          &:after {
525            top: 0;
526            bottom: 0;
527          }
528          small {
529            display: inline;
530            margin-left: 5px;
531          }
532        }
533        .mfp-bottom-bar {
534          background: rgba(0,0,0,0.6);
535          bottom: 0;
536          margin: 0;
537          top: auto;
538          padding: 3px 5px;
539          position: fixed;
540          box-sizing: border-box;
541          &:empty {
542            padding: 0;
543          }
544        }
545        .mfp-counter {
546          right: 5px;
547          top: 3px;
548        }
549        .mfp-close {
550          top: 0;
551          right: 0;
552          width: 35px;
553          height: 35px;
554          line-height: 35px;
555          background: rgba(0, 0, 0, 0.6);
556          position: fixed;
557          text-align: center;
558          padding: 0;
559        }
560      }
561    }
562  }
563}
564
565
566
567// Scale navigation arrows and reduce padding from sides
568@media all and (max-width: 900px) {
569  .mfp-arrow {
570    -webkit-transform: scale(0.75);
571    transform: scale(0.75);
572  }
573  .mfp-arrow-left {
574    -webkit-transform-origin: 0;
575    transform-origin: 0;
576  }
577  .mfp-arrow-right {
578    -webkit-transform-origin: 100%;
579    transform-origin: 100%;
580  }
581  .mfp-container {
582    padding-left: $mfp-popup-padding-left-mobile;
583    padding-right: $mfp-popup-padding-left-mobile;
584  }
585}
Note: See TracBrowser for help on using the repository browser.

Sites map