例如,请查看
this fiddle(请不要在IE中).
(您可以在this link看到控件的描述.)
她使用-ms-fill-lower和-ms-fill-upper来控制拇指两侧的颜色,如下所示:
input[type=range]::-ms-track {
width: 300px;
height: 5px;
/*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;
border-radius: 10px;
}
input[type=range]::-ms-fill-upper {
background: #ddd;
border-radius: 10px;
}
input[type=range]::-ms-thumb {
border: none;
height: 16px;
width: 16px;
border-radius: 50%;
background: goldenrod;
}
input[type=range]:focus::-ms-fill-lower {
background: #888;
}
input[type=range]:focus::-ms-fill-upper {
background: #ccc;
}
The result (in IE) http://brennaobrien.com/assets/blog/custom-slider-ie-updated.png
但是,据我所知,… :: – ms- …伪元素仅适用于IE.在Chrome中,上面的代码似乎没有任何效果.在Chrome中,我最终得到了这个:
The result (in Chrome) http://brennaobrien.com/assets/blog/custom-slider.png
我可以做些什么来实现跨浏览器的这种效果?
谢谢!
最佳答案 你可以使用渐变来实现这个效果,请看这里:
http://codepen.io/ryanttb/pen/fHyEJ
例如:
input::-moz-range-track{
background: linear-gradient(90deg,black 50%,grey 50%);
}
当然,你也需要js来改变百分比值.