在输入类型范围的轨迹和拇指之间定位伪元素

时间:2016-10-23 19:12:20

标签: css html5 z-index

我需要设置一个伪元素,其z索引低于输入类型范围的拇指但高于其轨迹,我得到以下内容:

html:

<div class="range">
  <input type="range" name="" class="progress" value="0" max="100" min="0" />
</div>


.range{
    white-space: nowrap;
    position: relative;
    margin: 0 auto;
    width: 50vw;
}

.range::before{
   content: '';
  display: inline-block;
  position: absolute;
  top: 2px;
   width: 13px;
   height: 13px;
   -moz-border-radius: 13px;
   -webkit-border-radius: 13px;
   border-radius: 13px;
   border: 2px solid #FFE000;
   background-color: #242526;
   z-index: 50;
}

input[type=range] {
  position: absolute;
  -webkit-appearance: none;
  margin: 10px 0;
  width: calc(100% - 15px);
  display: inline-block;
  vertical-align: middle;
  padding: 0;
  border: none;
  z-index: 100;
}


input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 3px;
  cursor: pointer;
  animate: 0.2s;
  box-shadow: 0px 0px 0px #000000;
  background: #FFE000;
  border-radius: 7px;
  border: 0px solid #FFE000;
  z-index: 0;
}

z-index适用于完整的伪元素和全范围,但我还没设法把它放在两者之间。这可能吗?

这是一个有效的jsfiddle

1 个答案:

答案 0 :(得分:2)

我想这样的话:https://jsfiddle.net/cn5va061/2

更改了before元素上的Z-index并为上方z-index提供了滑块拇指相对定位