我想在IE10中设置<input type='range' />
元素的样式。
默认情况下,IE 10将这样的元素设置为样式:
我想稍微定制它,比如说,将颜色变为蓝色,红色,灰色变为黑色,将小条纹变为黄色,将小黑色洗涤器变为白色。我尝试覆盖CSS中的background-color
属性和color
属性。但它没有用。
有什么想法吗?
答案 0 :(得分:13)
在IE10中,您可以使用许多伪元素来设置范围控件的样式。
input[type="range"]::-ms-fill-upper {
background-color: green;
}
将拇指后的部分着色。要在拇指使用前设置样式:
input[type="range"]::-ms-fill-lower {
background-color: lime green;
}
参见例如http://jsfiddle.net/K8WyC/4/
要设置拇指的样式,您可以使用:: - ms-thumb,而刻度线可以使用::-ms-ticks-before
,::-ms-ticks-after
或::-ms-track
进行样式设置(后者样式两边) 。您可以在http://msdn.microsoft.com/en-us/library/ie/hh869604(v=vs.85).aspx
您要求的样式可以像下面的小提琴一样实现:http://jsfiddle.net/K8WyC/8/
答案 1 :(得分:13)
您可以使用Microsoft CSS伪元素:
Here the full Microsoft pseudo list...
<强> IE10 强>
Here is a page with styled IE10 range controls (使用IE10打开)
<强>的WebKit 强>
其他浏览器
答案 2 :(得分:0)
在上一个答案中,
::-ms-ticks
应该阅读
::-ms-track
(这只是普通的赛道)。刻度颜色由
设置::-ms-track {color:red;}
刻度高度是轨道的高度,宽度无法设置。众所周知,蜱被抑制
::-ms-track {color:transparent;}
伪元素
::-ms-ticks-before,
::-ms-ticks-after {
display:block; (or inline-block)
color:red;
height:10px;
}
在曲目上方和下方创建额外的刻度。人们可以设定颜色和高度。无法设置刻度线宽度。 显示似乎是必需的。
Internet Explorer,因为IE10确实有默认的垂直填充。顶部填充为17px,底部填充为32px。这默认为高度滑块。因此
padding:0px;
(我还不能评论,我这样发帖)。