Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

input type range css - background color [duplicate]

Tags:

html

css

slider

I want to customize the <input type="range"> using css. The result I want to achieve is this:

but my following code gives me this

this is my code:

input[type='range'] {
    border-radius: 5px;
    height: 6px;
    vertical-align: middle;
    -webkit-appearance: none;
}
input[type="range"]::-moz-focus-inner:focus{   
    border : 0px;
    outline: 0;
} 
input[type='range']::-moz-range-track {
    border-radius: 5px;
    background-color: #E71D49;
    height: 6px;
    border: 1px dotted transparent !important;
}
input[type='range']::-webkit-slider-thumb {
    border-radius: 20px;
    background-color: #FFF;
    border:none;
    box-shadow: 0 5px #000;
    height: 5px;
    width: 5px;
}
input[type='range']::-moz-range-thumb {
    border-radius: 20px;
    background-color: #fff;
    border:none;
    height: 20px;
    box-shadow: 3px 2px 3px #000;
    width: 20px;
}

Is it possible to separate the slider into "active" and "inactive" one?

Thanks in advance Dario

like image 309
Dario Rusignuolo Avatar asked Mar 10 '14 08:03

Dario Rusignuolo


1 Answers

Hope the example will help you

Code : example

var inputs = document.getElementsByTagName('input');
inputs = Array.splice(inputs, 0);
inputs.forEach(function (item) {
if (item.type === 'range') {
    item.onchange = function () {
        value = (item.value - item.min)/(item.max - item.min)
        item.style.backgroundImage = [
            '-webkit-gradient(',
              'linear, ',
              'left top, ',
              'right top, ',
              'color-stop(' + value + ', blue), ',
              'color-stop(' + value + ', red)',
            ')'
        ].join('');
    };
}
});
like image 188
Tal Shaked Avatar answered Oct 31 '22 17:10

Tal Shaked