我有一个<input type="range">
并想要旋转拇指 - 但只有输入时的拇指。
我的问题是:当我尝试旋转它时,它会旋转整个滑块。
有人能帮我吗?
function slide(event){
event.target.style.webkitTransform = 'rotate(20deg)';
}
.slidecontainer {
width: 100%;
}
.slider {
-webkit-appearance: none;
appearance: none;
width: 100%;
height: 20px;
background: #d3d3d3;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
border-radius: 20px;
}
.slider:hover {
opacity: 1;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 50px;
height: 50px;
border-radius: 50px;
background: grey;
background-image: url(img/thumb.png);
background-size: 35px 35px;
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
}
.slider::-moz-range-thumb {
width: 50px;
height: 50px;
border-radius: 50px;
background: grey;
background-image: url(img/thumb.png);
background-size: 35px 35px;
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
}
<div class="slidecontainer">
<input type="range" min="100" max="500" value="300" class="slider" oninput="slide(event)">
</div>
由于无法使用 JS 定位伪元素,因此请考虑使用 CSS 变量。您可以在输入元素中定义它们,它们是遗传通过拇指;这样你就可以轻松实现你想要的。
function slide(event) {
event.target.style.setProperty('--r',event.target.value+'deg');
}
.slidecontainer {
width: 100%;
}
.slider {
-webkit-appearance: none;
appearance: none;
width: 100%;
height: 20px;
background: #d3d3d3;
outline: none;
opacity: 0.7;
transition: opacity .2s;
border-radius: 20px;
}
.slider:hover {
opacity: 1;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 50px;
height: 50px;
border-radius: 50px;
background:linear-gradient(red 50%,blue 0);
cursor: pointer;
display:inline-block;
transform:rotate(var(--r,180deg));
}
.slider::-moz-range-thumb {
width: 50px;
height: 50px;
border-radius: 50px;
background: linear-gradient(red 50%,blue 0);
cursor: pointer;
display:inline-block;
transform:rotate(var(--r,180deg));
}
<div class="slidecontainer">
<input type="range" min="0" max="360" value="180" class="slider" oninput="slide(event)">
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)