Я пытаюсь стиль слайдера, как на этом image. Все работает на Safari, но кажется, что хром имеет проблему с определением псевдо атрибута по другому псевдо атрибуту. Бетон это не работает - input[type=range]::-webkit-slider-thumb::before
слайдер большой палец диапазона ввода с :: раньше в chrome
Вот код:
.panel {
position: relative;
width: 500px;
margin-left: 50px;
}
.sections {
position: absolute;
width: 100%;
height: 40px;
overflow: hidden;
}
.sections-inner {
position: absolute;
width: 100%;
height: 10px;
top: calc(50% - 5px);
}
.section-1 {
margin-left: 20%;
width: 40%;
height: 100%;
background: pink;
position: absolute;
top: 0;
left: 0;
}
.section-2 {
margin-left: 70%;
background: pink;
width: 30%;
height: 100%;
}
.range-wrapper {
display: flex;
height: 40px;
justify-content: center;
}
.range-picker {
width: 100%;
position: relative;
}
input[type=range] {
-webkit-appearance: none;
width: 100%;
background: transparent;
margin: 0;
}
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
}
input[type=range]:focus {
outline: none;
}
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
border: 1px solid #000000;
height: 24px;
width: 1px;
border-radius: 5px;
cursor: pointer;
margin-top: -6px;
}
input[type=range]::-webkit-slider-thumb::before {
content: "";
display: block;
width: 24px;
height: 30px;
background: rgba(255, 255, 255, 0.5);
position: relative;
border: 1px solid #000;
border-radius: 5px;
top: 50%;
left: 50%;
transform: translate3d(-50%, -50%, 0)
}
input[type=range]::-webkit-slider-runnable-track {
width: 100%;
height: 14px;
cursor: pointer;
background: transparent;
border-radius: 1.3px;
border: 0.2px solid #010101;
}
input[type=range]:focus::-webkit-slider-runnable-track {
background: transparent;
}
<div class="panel">
<div class="sections">
<div class="sections-inner">
<div class="section-1">
</div>
<div class="section-2">
</div>
</div>
</div>
<div class="range-wrapper">
<input type="range" class="range-picker" min="0" max="100" value="20"/>
</div>
</div>
ли кто-нибудь идея, как я могу достичь, что в хроме? Спасибо за любой совет.
Вы не поняли. Этот квадрат должен быть частью этого ползунка. Попробуйте взглянуть на этот рабочий пример на сафари, если сможете. –
@Kuko Обновлено мой ответ – LGSon
У меня уже было это решение, но проблема в том, что фактическое значение должно указывать на эту внутреннюю линию. Это означает, что когда я устанавливаю минимальное значение для ползунка, эта внутренняя линия должна лежать в начале слайдера. Посмотрите на изображение в оригинальном вопросе. –