Css HTML5范围输入中的上下填充样式
如前所述,IE允许按如下方式在CSS中设置上下填充或轨迹区域的样式:Css HTML5范围输入中的上下填充样式,css,html,Css,Html,如前所述,IE允许按如下方式在CSS中设置上下填充或轨迹区域的样式: /*以下仅影响IE中的范围输入*/ 输入[type=“range”]:-ms填充下限{ 背景色:红色; } 输入[type=“range”]:-ms填充上限{ 背景颜色:蓝色; } 首先,阅读丹尼尔·斯特恩的文章。他的想法是使输入不可见,然后应用自定义样式 他还开发了一个名为的优秀在线工具,在该工具中,您可以选择样式预设和参数,并获得自动生成的CSS代码,如下所示: 输入[类型=范围]{ -webkit外观:无; 利润率:
/*以下仅影响IE中的范围输入*/
输入[type=“range”]:-ms填充下限{
背景色:红色;
}
输入[type=“range”]:-ms填充上限{
背景颜色:蓝色;
}
首先,阅读丹尼尔·斯特恩的文章。他的想法是使输入不可见,然后应用自定义样式
他还开发了一个名为的优秀在线工具,在该工具中,您可以选择样式预设和参数,并获得自动生成的CSS代码,如下所示:
输入[类型=范围]{
-webkit外观:无;
利润率:10px0;
宽度:100%;
}
输入[类型=范围]:焦点{
大纲:无;
}
输入[类型=范围]:-webkit滑块可运行轨迹{
宽度:100%;
高度:12.8px;
光标:指针;
动画:0.2s;
盒影:0px 0px 0px 000000,0px 0px 0px 0d0d;
背景:#ac51b5;
边界半径:25px;
边框:0px实心#000101;
}
输入[类型=范围]:-webkit滑块拇指{
盒影:0px 0px 0px 000000,0px 0px 0px 0d0d;
边框:0px实心#000000;
高度:20px;
宽度:39px;
边界半径:7px;
背景:#65001c;
光标:指针;
-webkit外观:无;
利润上限:-3.6px;
}
输入[类型=范围]:焦点:--webkit滑块可运行轨迹{
背景:#ac51b5;
}
输入[类型=范围]:-moz范围轨迹{
宽度:100%;
高度:12.8px;
光标:指针;
动画:0.2s;
盒影:0px 0px 0px 000000,0px 0px 0px 0d0d;
背景:#ac51b5;
边界半径:25px;
边框:0px实心#000101;
}
输入[类型=范围]:-moz范围拇指{
盒影:0px 0px 0px 000000,0px 0px 0px 0d0d;
边框:0px实心#000000;
高度:20px;
宽度:39px;
边界半径:7px;
背景:#65001c;
光标:指针;
}
输入[类型=范围]:-ms轨道{
宽度:100%;
高度:12.8px;
光标:指针;
动画:0.2s;
背景:透明;
边框颜色:透明;
边框宽度:39px0;
颜色:透明;
}
输入[类型=范围]:-ms填充下限{
背景:#ac51b5;
边框:0px实心#000101;
边界半径:50px;
盒影:0px 0px 0px 000000,0px 0px 0px 0d0d;
}
输入[类型=范围]:-ms填充上限{
背景:#ac51b5;
边框:0px实心#000101;
边界半径:50px;
盒影:0px 0px 0px 000000,0px 0px 0px 0d0d;
}
输入[类型=范围]:-ms thumb{
盒影:0px 0px 0px 000000,0px 0px 0px 0d0d;
边框:0px实心#000000;
高度:20px;
宽度:39px;
边界半径:7px;
背景:#65001c;
光标:指针;
}
输入[类型=范围]:焦点:-毫秒填充下限{
背景:#ac51b5;
}
输入[类型=范围]:焦点:--ms填充上限{
背景:#ac51b5;
}
身体{
填充:30px;
}
我正在使用以下代码,这些代码基于A.Dayan提供的链接。注意最小-最大值,并特别针对webkit,同时隐藏它实际上是一个渐变
<html>
<head>
<title>A styled slider</title>
<script src="js/jquery-1.10.2.min.js" type="text/javascript"></script>
<style type="text/css">
input[type='range'] {
-webkit-appearance: none;
width: 100%;
border-radius: 4px;
height: 5px;
border-color: #1f1f1f;
border-style: solid;
border-width: 1px;
background: -webkit-linear-gradient(left, green 0%, green 50%, black 50%);
}
input[type='range']::-webkit-slider-thumb {
-webkit-appearance: none !important;
-webkit-border-radius: 2px;
background-color: blue;
height: 21px;
width: 9px;
}
input[type=range]:focus {
outline: none;
}
</style>
</head>
<body>
<div>
<input type="range" value="75" min="100" max="300" />
</div>
<script type="text/javascript" >
$('input[type="range"]').on('input', function () {
var percent = Math.ceil(((this.value - this.min) / (this.max - this.min)) * 100);
console.log(this.min);
$(this).css('background', '-webkit-linear-gradient(left, green 0%, green ' + percent + '%, black ' + percent + '%)');
});
</script>
</body>
</html>
有样式的滑块
输入[type='range']{
-webkit外观:无;
宽度:100%;
边界半径:4px;
高度:5px;
边框颜色:#1F;
边框样式:实心;
边框宽度:1px;
背景:-webkit线性渐变(左侧,绿色0%,绿色50%,黑色50%);
}
输入[type='range']::-webkit滑块拇指{
-webkit外观:无!重要;
-webkit边界半径:2px;
背景颜色:蓝色;
高度:21px;
宽度:9px;
}
输入[类型=范围]:焦点{
大纲:无;
}
$('input[type=“range”]”)。在('input',函数(){
var percent=Math.ceil(((this.value-this.min)/(this.max-this.min))*100);
console.log(this.min);
$(this.css('background','-webkit线性渐变(左,绿色0%,绿色'+percent+'%,黑色'+percent+'%));
});
Firefox有一个(新的?)伪元素,用于设置(IE称之为)范围输入的“下”部分的样式。根据:
:-moz-range-progressCSS伪元素表示该部分
指的“轨道”(指示器或拇指在其中滑动的凹槽)
type=“range”的
,对应于低于
当前由拇指选择的值
对于上面的音轨,仍然使用(per):-moz范围音轨
我今天刚刚发现并尝试了它;工作得很好。在这个阶段,仍然没有本机实现的选项
-ms-fill-lower
或-moz-fill-lower
铬合金。使用操作range输入元素不是一个选项,所以我使用了带有CSS线性渐变和少量javascript的调整技术来对输入范围进行CSS更改
希望这对某人有所帮助我使用这个解决方案的灵感来自。它使用基于视图宽度的框阴影(100vw是滑块的最大宽度),并使用溢出:隐藏进行约束。我用的是圆形拇指,所以从100vw中减去一半拇指宽度,否则方块阴影会爬到拇指的另一侧 css html
(仅供参考,比斯克、锡耶纳和秘鲁都是)谢谢。这很有帮助,但不幸的是,它没有回答我的主要问题。我想对“拇指”左侧和右侧的轨迹区域应用不同的样式。我不确定这在IE之外是否可行。是的,只有CSS才能在IE上实现,但是如果你不介意添加一些脚本,可以用线性渐变来模拟。请参见以下示例:非常好。谢谢。它只是展示了如何为范围设置颜色,而不是问题中提到的下限和上限。我可以获得AngularJS版本吗?很遗憾,我没有更多的权限访问此代码。信息技术
.wb-PKR-slider {
-webkit-appearance:none;
appearance:none;
margin:5px;
width:calc(100% - 10px);
width:-webkit-calc(100% - 10px);
height:25px;
outline:none;
background:bisque;
border-radius:12px;
overflow: hidden;
}
.wb-PKR-slider::-webkit-slider-thumb {
-webkit-appearance:none;
appearance:none;
width:25px;
height:25px;
background:sienna;
box-shadow: -100vw 0 0 calc(100vw - 12px) peru;
cursor:pointer;
border-radius: 50%;
}
<input type="range" min="0" max="150" value="25" class="wb-PKR-slider" id="wb-PKR-chip-count">