Двойной ползунок на 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>

→ Ссылка