Я пытаюсь создать собственный слайдер, для которого я нашел пример кода.Я настроил его немного в соответствии со своими потребностями, но не смог правильно установить ширину элемента диапазона ползунка.
![enter image description here](https://i.stack.imgur.com/wrfIO.png)
Размеры и расчеты преобразованияопределяется в em
единицах при использовании SCSS.Я могу установить ширину для $track-w
в SCSS, ползунок достаточно широкий для моего размера экрана, но для других экранов он отличается.Ниже приведен код.
$track-w: 55em; //this width is not responsive
$track-h: .25em;
$thumb-d: 1.5em;
$dist: $track-w - $thumb-d;
@mixin track() {
box-sizing: border-box;
border: none;
width: $track-w;
height: $track-h;
}
.wrap {
display: flex;
align-items: center;
position: relative;
width: $track-w;
height: 3.5*$thumb-d;
font: 1em/1 arial, sans-serif
}
[type='range'] {
&, &::-webkit-slider-thumb {
-webkit-appearance: none
}
flex: 1;
margin: 0;
padding: 0;
min-height: $thumb-d;
background: transparent;
font: inherit;
&::-webkit-slider-runnable-track {
@include track()
}
&::-moz-range-track { @include track }
&::-ms-track { @include track }
&::-webkit-slider-thumb {
margin-top: .3*($track-h - $thumb-d);
}
&::-ms-thumb {
margin-top: 0;
}
&::-ms-tooltip { display: none }
~ output {
display: none;
.js & {
display: block;
position: absolute;
left: .5*$thumb-d; top: 0;
padding: .25em .5em;
border-radius: 3px;
transform: translate(calc((var(--val) - var(--min))/(var(--max) - var(--min))*#{$dist} - 50%));
background: #4285f4;
color: #eee;
}
}
}
Вот ссылка на кодовое поле - https://codepen.io/thebabydino/pen/WdeYMd для примера вывода и более подробной информации.Как я могу сделать слайдер отзывчивым?Пожалуйста, дайте мне знать, если я могу предоставить более подробную информацию.