如何通过css样式合并两个输入类型=范围?

问题描述 投票:0回答:1

我有两个输入type =“range”。我想合并这两个。

我想制作双滑块,但是,如果我将两个元素放在另一个上面,只有顶部的一个接受鼠标点击。我不想使用任何外部库来做到这一点。我是用css风格做的,但主要的问题是它在Mozilla浏览器和IE中不起作用。它只适用于chrome浏览器,我认为这是因为指针事件:无;它没有在Mozilla浏览器中运行。任何的想法?

**css :**
.price-slider {
    position: relative;
    width: 400px;
    margin: 0 auto 20px;
    height: 35px;
    text-align: center;
}

.price-slider input {
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 15px;
    width: 100%;
    outline: none;
    height: 18px;
    margin: 0;
    padding: 0;
    border-radius: 8px;
}

.price-slider input::-webkit-slider-thumb {
    pointer-events: all;
    position: relative;
    z-index: 1;
    outline: 0;
    height: 24px;
    widows: 24px;
    border-radius: 12px;
    background-color: white;
    border: 2px solid black;
    -webkit-appearance: none;
}

**HTML:**
<div class="price-slider">
    <input value="0" min="0" value="0" max="100" step="1" type="range" />
    <input value="100" min="0" value="100" max="100" step="1" type="range" />
</div>

html css html5 css3
1个回答
0
投票

这应该可以解决你的问题但是为了获取信息,pointer-events属性也可以在firefox中运行,没有任何前缀。

.price-slider {
  position: relative;
  width: 400px;
  margin: 0 auto 20px;
  height: 35px;
  text-align: center;
}

.price-slider input {
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 15px;
  width: 100%;
  outline: none;
  height: 18px;
  margin: 0;
  padding: 0;
  border-radius: 8px;
}

.price-slider input::-webkit-slider-thumb {
  pointer-events: all;
  position: relative;
  z-index: 1;
  outline: 0;
  height: 24px;
  widows: 24px;
  border-radius: 12px;
  background-color: white;
  border: 2px solid black;
  -webkit-appearance: none;
}

.price-slider input::-moz-range-thumb {
  pointer-events: all;
  position: relative;
  z-index: 1;
  outline: 0;
  height: 24px;
  widows: 24px;
  border-radius: 12px;
  background-color: white;
  border: 2px solid black;
  -moz-appearance: none;
}

input::-moz-range-track {
  background: #ccc;
}
<div class="price-slider">
    <input value="0" min="0" value="0" max="100" step="1" type="range">
    <input value="100" min="0" value="100" max="100" step="1" type="range">
</div>
© www.soinside.com 2019 - 2024. All rights reserved.