UNPKG

2.8 kBSCSSView Raw
1// Range
2//
3// Style range inputs the same across browsers. Vendor-specific rules for pseudo
4// elements cannot be mixed. As such, there are no shared styles for focus or
5// active states on prefixed selectors.
6
7.form-range {
8 width: 100%;
9 height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);
10 padding: 0; // Need to reset padding
11 background-color: transparent;
12 appearance: none;
13
14 &:focus {
15 outline: 0;
16
17 // Pseudo-elements must be split across multiple rulesets to have an effect.
18 // No box-shadow() mixin for focus accessibility.
19 &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
20 &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
21 }
22
23 &::-moz-focus-outer {
24 border: 0;
25 }
26
27 &::-webkit-slider-thumb {
28 width: $form-range-thumb-width;
29 height: $form-range-thumb-height;
30 margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
31 @include gradient-bg($form-range-thumb-bg);
32 border: $form-range-thumb-border;
33 @include border-radius($form-range-thumb-border-radius);
34 @include box-shadow($form-range-thumb-box-shadow);
35 @include transition($form-range-thumb-transition);
36 appearance: none;
37
38 &:active {
39 @include gradient-bg($form-range-thumb-active-bg);
40 }
41 }
42
43 &::-webkit-slider-runnable-track {
44 width: $form-range-track-width;
45 height: $form-range-track-height;
46 color: transparent; // Why?
47 cursor: $form-range-track-cursor;
48 background-color: $form-range-track-bg;
49 border-color: transparent;
50 @include border-radius($form-range-track-border-radius);
51 @include box-shadow($form-range-track-box-shadow);
52 }
53
54 &::-moz-range-thumb {
55 width: $form-range-thumb-width;
56 height: $form-range-thumb-height;
57 @include gradient-bg($form-range-thumb-bg);
58 border: $form-range-thumb-border;
59 @include border-radius($form-range-thumb-border-radius);
60 @include box-shadow($form-range-thumb-box-shadow);
61 @include transition($form-range-thumb-transition);
62 appearance: none;
63
64 &:active {
65 @include gradient-bg($form-range-thumb-active-bg);
66 }
67 }
68
69 &::-moz-range-track {
70 width: $form-range-track-width;
71 height: $form-range-track-height;
72 color: transparent;
73 cursor: $form-range-track-cursor;
74 background-color: $form-range-track-bg;
75 border-color: transparent; // Firefox specific?
76 @include border-radius($form-range-track-border-radius);
77 @include box-shadow($form-range-track-box-shadow);
78 }
79
80 &:disabled {
81 pointer-events: none;
82
83 &::-webkit-slider-thumb {
84 background-color: $form-range-thumb-disabled-bg;
85 }
86
87 &::-moz-range-thumb {
88 background-color: $form-range-thumb-disabled-bg;
89 }
90 }
91}