Двойной ползунок на css как сделать?
Когда добавляю 2 ползунка друг за другом - между ними расстояние образуется, а если делаю их с наложением - нижний невозможно использовать
.range-wrapper {
display: flex;
align-items: center;
position: relative;
height: 34px;
margin-top: 20px;
}
[type="range"] {
position: absolute;
}
<div class="range-wrapper" data-already-init="1">
<input class="custom-range" type="range" min="4235" max="14835" step="100" value="4235">
<input class="custom-range" type="range" min="4235" max="14835" step="100" value="14835">
</div>
Ответы (1 шт):
Автор решения: Mcile
→ Ссылка
Решением будет убрать возможность кликать по ползункам pointer-events: none; и добавить такую возможность только каретке pointer-events: auto;.
Чтобы стилизовать свой ползунок нужно задать отмену стилей по умолчанию appearance: none;
.range-wrapper{
display: flex;
align-items: center;
justify-content: center;
position: relative;
height: 34px;
margin-top: 50px;
&::before{
content: '';
display: block;
width: 100%;
height: 4px;
background-color: #32302e;
position: absolute;
border-radius: 2px;
}
.custom-range{
appearance: none;
pointer-events: none;
outline: none;
position: absolute;
top: 0;
background-color: transparent;
z-index: 0;
width:100%;
&:focus {
outline: none;
}
&::-webkit-slider-runnable-track{
appearance: none;
height: 4px;
background-color: transparent;
}
&::-moz-range-track{
appearance: none;
height: 4px;
background-color: transparent;
}
&::-ms-track{
appearance: none;
height: 4px;
background-color: transparent;
}
&::-webkit-slider-thumb{
appearance: none;
height: 34px;
width: 34px;
border-radius: 50%;
border: solid 2px #e8e7e6;
background-color: #32302e;
cursor: grab;
pointer-events: auto;
z-index: 1;
}
&::-moz-range-thumb{
appearance: none;
height: 34px;
width: 34px;
border-radius: 50%;
border: solid 2px #e8e7e6;
background-color: #32302e;
cursor: grab;
pointer-events: auto;
z-index: 1;
}
&::-ms-thumb{
appearance: none;
height: 34px;
width: 34px;
border-radius: 50%;
border: solid 2px #e8e7e6;
background-color: #32302e;
cursor: grab;
pointer-events: auto;
z-index: 1;
}
&:hover::-webkit-slider-thumb{
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
&:hover::-moz-range-thumb{
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
&:hover::-ms-thumb{
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
&:active::-webkit-slider-thumb{
cursor: grabbing;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
&:active::-moz-range-thumb{
cursor: grabbing;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
&:active::-ms-thumb{
cursor: grabbing;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
}
}
<div class="range-wrapper">
<input class="custom-range" type="range" min="4235" max="14835" step="100" value="4235">
<input class="custom-range" type="range" min="4235" max="14835" step="100" value="14835">
</div>