123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- $track-color: #3ca9f1 !default;
- $thumb-color: $color-bot !default;
- $thumb-radius: 0px !default;
- $thumb-height: 14px !default;
- $thumb-width: 7px !default;
- $thumb-shadow-size: 1px !default;
- $thumb-shadow-blur: 1px !default;
- $thumb-shadow-color: rgba(0, 0, 0, .2) !default;
- $thumb-border-width: 1px !default;
- $thumb-border-color: $color-bot !default;
- $track-width: 50% !default;
- $track-height: 5px !default;
- $track-shadow-size: 1px !default;
- $track-shadow-blur: 1px !default;
- $track-shadow-color: rgba(0, 0, 0, .2) !default;
- $track-border-width: 1px !default;
- $track-border-color: $color-bot !default;
- $track-radius: 5px !default;
- $contrast: 5% !default;
- @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: pointer;
- 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;
- cursor: pointer;
- height: $thumb-height;
- width: $thumb-width;
- }
- [type='range'] {
- -webkit-appearance: none;
- margin: $thumb-height / 2 0;
- width: $track-width;
- &: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 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;
- }
- &::-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: darken($track-color, $contrast);
- 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: 0;
- }
- }
|