|
@@ -0,0 +1,144 @@
|
|
|
+// Styling Cross-Browser Compatible Range Inputs with Sass
|
|
|
+// Github: https://github.com/darlanrod/input-range-sass
|
|
|
+// Author: Darlan Rod https://github.com/darlanrod
|
|
|
+// Version 1.5.2
|
|
|
+// MIT License
|
|
|
+
|
|
|
+$track-color: rgba(#fff, 0.2);
|
|
|
+$thumb-color: #fff;
|
|
|
+
|
|
|
+$thumb-radius: 9px;
|
|
|
+$thumb-height: 18px;
|
|
|
+$thumb-width: 18px;
|
|
|
+$thumb-shadow-size: 0;
|
|
|
+$thumb-shadow-blur: 4px;
|
|
|
+$thumb-shadow-color: rgba(0, 0, 0, .2);
|
|
|
+$thumb-border-width: 0;
|
|
|
+$thumb-border-color: transparent;
|
|
|
+
|
|
|
+$track-width: 100%;
|
|
|
+$track-height: 4px;
|
|
|
+$track-shadow-size: 0;
|
|
|
+$track-shadow-blur: 0;
|
|
|
+$track-shadow-color: transparent;
|
|
|
+$track-border-width: 0;
|
|
|
+$track-border-color: transparent;
|
|
|
+
|
|
|
+$track-radius: 5px;
|
|
|
+$contrast: 5%;
|
|
|
+
|
|
|
+$ie-bottom-track-color: darken($track-color, $contrast);
|
|
|
+
|
|
|
+@mixin shadow($shadow-size, $shadow-blur, $shadow-color) {
|
|
|
+ box-shadow: $shadow-size $shadow-size $shadow-blur $shadow-color, 0 0 $shadow-size lighten($shadow-color, 5%);
|
|
|
+}
|
|
|
+
|
|
|
+@mixin track {
|
|
|
+ cursor: default;
|
|
|
+ height: $track-height;
|
|
|
+ transition: all .2s ease;
|
|
|
+ width: $track-width;
|
|
|
+}
|
|
|
+
|
|
|
+@mixin thumb {
|
|
|
+ @include shadow($thumb-shadow-size, $thumb-shadow-blur, $thumb-shadow-color);
|
|
|
+ background: $thumb-color;
|
|
|
+ border: $thumb-border-width solid $thumb-border-color;
|
|
|
+ border-radius: $thumb-radius;
|
|
|
+ box-sizing: border-box;
|
|
|
+ cursor: default;
|
|
|
+ height: $thumb-height;
|
|
|
+ width: $thumb-width;
|
|
|
+}
|
|
|
+
|
|
|
+[type='range'] {
|
|
|
+ -webkit-appearance: none;
|
|
|
+ background: transparent;
|
|
|
+ margin: $thumb-height / 2 0;
|
|
|
+ width: $track-width;
|
|
|
+
|
|
|
+ &::-moz-focus-outer {
|
|
|
+ border: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:focus {
|
|
|
+ outline: 0;
|
|
|
+
|
|
|
+ &::-webkit-slider-runnable-track {
|
|
|
+ background: lighten($track-color, $contrast);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-ms-fill-lower {
|
|
|
+ background: $track-color;
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-ms-fill-upper {
|
|
|
+ background: lighten($track-color, $contrast);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-webkit-slider-runnable-track {
|
|
|
+ @include track;
|
|
|
+ @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color);
|
|
|
+ background: $track-color;
|
|
|
+ border: $track-border-width solid $track-border-color;
|
|
|
+ border-radius: $track-radius;
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-webkit-slider-thumb {
|
|
|
+ @include thumb;
|
|
|
+ -webkit-appearance: none;
|
|
|
+ margin-top: ((-$track-border-width * 2 + $track-height) / 2 - $thumb-height / 2);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-moz-range-track {
|
|
|
+ @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color);
|
|
|
+ @include track;
|
|
|
+ background: $track-color;
|
|
|
+ border: $track-border-width solid $track-border-color;
|
|
|
+ border-radius: $track-radius;
|
|
|
+ height: $track-height;
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-moz-range-thumb {
|
|
|
+ @include thumb;
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-ms-track {
|
|
|
+ @include track;
|
|
|
+ background: transparent;
|
|
|
+ border-color: transparent;
|
|
|
+ border-width: ($thumb-height / 2) 0;
|
|
|
+ color: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-ms-fill-lower {
|
|
|
+ @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color);
|
|
|
+ background: $ie-bottom-track-color;
|
|
|
+ border: $track-border-width solid $track-border-color;
|
|
|
+ border-radius: ($track-radius * 2);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-ms-fill-upper {
|
|
|
+ @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color);
|
|
|
+ background: $track-color;
|
|
|
+ border: $track-border-width solid $track-border-color;
|
|
|
+ border-radius: ($track-radius * 2);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::-ms-thumb {
|
|
|
+ @include thumb;
|
|
|
+ margin-top: $track-height / 4;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:disabled {
|
|
|
+ &::-webkit-slider-thumb,
|
|
|
+ &::-moz-range-thumb,
|
|
|
+ &::-ms-thumb,
|
|
|
+ &::-webkit-slider-runnable-track,
|
|
|
+ &::-ms-fill-lower,
|
|
|
+ &::-ms-fill-upper {
|
|
|
+ cursor: not-allowed;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|