2016-05-11 5 views
1

Ist es möglich, einen Eingabebereich so anzupassen, dass er auf der rechten und linken Seite des Trackers nur durch CSS unterschiedliche Farben aufweist? Das ist, was ich bisher bekommen habe.Eingabebereich mit geteilten Farben mit CSS

input[type=range] { 
 
    margin: 10px 0; 
 
    margin: 50px; 
 
    width: 500px; 
 
    background: transparent; 
 
    -webkit-appearance: none; 
 
} 
 

 
input[type=range]::-webkit-slider-runnable-track { 
 
    
 
    height: 10px; 
 
    
 
     background: white; 
 
     border-radius: 5px; 
 
    
 
} 
 

 

 
input[type=range]::-webkit-slider-thumb { 
 
    -webkit-appearance: none; 
 
    border: none; 
 
    height: 25px; 
 
    width: 25px; 
 
    border-radius: 50%; 
 
    background: white; 
 
    border: 3px green solid; 
 
    margin-top: -7px; 
 
} 
 

 
input[type=range]:focus { 
 
    outline: none; 
 
} 
 

 

 
body { 
 
    background-color: green; 
 
}
<input type="range" min="0" max="10" />

https://jsfiddle.net/Lautaro/k179gwur/1/

+0

Ich denke, der einzige Browser, der Sie das macht, ist IE mit ':: - ms-fill-lower' und' :: - ms-fill-upper'. Siehe [diese andere SO-Frage] (http://stackoverflow.com/q/28283332/1028949) – Quantastical

Antwort

0

Ja, könnten Sie CSS Gradient verwenden.

input[type=range]::-webkit-slider-runnable-track { 
    background: linear-gradient(to right, #000000 0%,#000000 50%,#ffffff 50%,#ffffff 100%,#ffffff 100%); 
} 
+1

Der einzige Nachteil hier ist, dass der Übergang zwischen Farben ein fester Punkt ist und nicht dem Tracker-Daumen folgt. – Quantastical

+0

Wahr. Dachte er wollte nur den Hintergrund "splitten" :) – VilleKoo