162 lines
3 KiB
SCSS
162 lines
3 KiB
SCSS
|
/* Range
|
||
|
========================================================================== */
|
||
|
|
||
|
.range-field {
|
||
|
position: relative;
|
||
|
}
|
||
|
|
||
|
input[type=range],
|
||
|
input[type=range] + .thumb {
|
||
|
@extend .no-select;
|
||
|
cursor: pointer;
|
||
|
}
|
||
|
|
||
|
input[type=range] {
|
||
|
position: relative;
|
||
|
background-color: transparent;
|
||
|
border: none;
|
||
|
outline: none;
|
||
|
width: 100%;
|
||
|
margin: 15px 0;
|
||
|
padding: 0;
|
||
|
|
||
|
&:focus {
|
||
|
outline: none;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
input[type=range] + .thumb {
|
||
|
position: absolute;
|
||
|
top: 10px;
|
||
|
left: 0;
|
||
|
border: none;
|
||
|
height: 0;
|
||
|
width: 0;
|
||
|
border-radius: 50%;
|
||
|
background-color: $radio-fill-color;
|
||
|
margin-left: 7px;
|
||
|
|
||
|
transform-origin: 50% 50%;
|
||
|
transform: rotate(-45deg);
|
||
|
|
||
|
.value {
|
||
|
display: block;
|
||
|
width: 30px;
|
||
|
text-align: center;
|
||
|
color: $radio-fill-color;
|
||
|
font-size: 0;
|
||
|
transform: rotate(45deg);
|
||
|
}
|
||
|
|
||
|
&.active {
|
||
|
border-radius: 50% 50% 50% 0;
|
||
|
|
||
|
.value {
|
||
|
color: $input-background;
|
||
|
margin-left: -1px;
|
||
|
margin-top: 8px;
|
||
|
font-size: 10px;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Shared
|
||
|
@mixin range-track {
|
||
|
height: $track-height;
|
||
|
background: #c2c0c2;
|
||
|
border: none;
|
||
|
}
|
||
|
|
||
|
@mixin range-thumb {
|
||
|
border: none;
|
||
|
height: $range-height;
|
||
|
width: $range-width;
|
||
|
border-radius: 50%;
|
||
|
background: $radio-fill-color;
|
||
|
transition: box-shadow .3s;
|
||
|
}
|
||
|
|
||
|
// WebKit
|
||
|
input[type=range] {
|
||
|
-webkit-appearance: none;
|
||
|
}
|
||
|
|
||
|
input[type=range]::-webkit-slider-runnable-track {
|
||
|
@include range-track;
|
||
|
}
|
||
|
|
||
|
input[type=range]::-webkit-slider-thumb {
|
||
|
@include range-thumb;
|
||
|
-webkit-appearance: none;
|
||
|
background-color: $radio-fill-color;
|
||
|
transform-origin: 50% 50%;
|
||
|
margin: -5px 0 0 0;
|
||
|
|
||
|
}
|
||
|
|
||
|
.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
|
||
|
box-shadow: 0 0 0 10px rgba($radio-fill-color, .26);
|
||
|
}
|
||
|
|
||
|
// FireFox
|
||
|
input[type=range] {
|
||
|
/* fix for FF unable to apply focus style bug */
|
||
|
border: 1px solid white;
|
||
|
|
||
|
/*required for proper track sizing in FF*/
|
||
|
}
|
||
|
|
||
|
input[type=range]::-moz-range-track {
|
||
|
@include range-track;
|
||
|
}
|
||
|
|
||
|
input[type=range]::-moz-focus-inner {
|
||
|
border: 0;
|
||
|
}
|
||
|
|
||
|
input[type=range]::-moz-range-thumb {
|
||
|
@include range-thumb;
|
||
|
margin-top: -5px;
|
||
|
}
|
||
|
|
||
|
// hide the outline behind the border
|
||
|
input[type=range]:-moz-focusring {
|
||
|
outline: 1px solid #fff;
|
||
|
outline-offset: -1px;
|
||
|
}
|
||
|
|
||
|
.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
|
||
|
box-shadow: 0 0 0 10px rgba($radio-fill-color, .26);
|
||
|
}
|
||
|
|
||
|
// IE 10+
|
||
|
input[type=range]::-ms-track {
|
||
|
height: $track-height;
|
||
|
|
||
|
// remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead
|
||
|
background: transparent;
|
||
|
|
||
|
// leave room for the larger thumb to overflow with a transparent border */
|
||
|
border-color: transparent;
|
||
|
border-width: 6px 0;
|
||
|
|
||
|
/*remove default tick marks*/
|
||
|
color: transparent;
|
||
|
}
|
||
|
|
||
|
input[type=range]::-ms-fill-lower {
|
||
|
background: #777;
|
||
|
}
|
||
|
|
||
|
input[type=range]::-ms-fill-upper {
|
||
|
background: #ddd;
|
||
|
}
|
||
|
|
||
|
input[type=range]::-ms-thumb {
|
||
|
@include range-thumb;
|
||
|
}
|
||
|
|
||
|
.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
|
||
|
box-shadow: 0 0 0 10px rgba($radio-fill-color, .26);
|
||
|
}
|