Вставьте графику в центре слайдера с помощью CSS - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь нарисовать "центральную" часть для слайдера в css, но у меня возникли проблемы. Вот бесподобный макет того, к чему я стремлюсь: centerslider.png

Я попытался выйти за пределы css и вручную расположить div над ползунком, но затем я понял, что хочу, чтобы мой div был выше дорожки ползунка, но ниже подвижного курсора. Я не смог достичь этого только с помощью z-index.

Я также попытался использовать события «до» и «после» на исполняемой дорожке, чтобы можно было добавить дискретный контент оттуда. И это несколько сработало, когда я узнал, что мне нужно использовать inline-block , но я снова не смог заставить z-index играть хорошо, и он всегда был над подвижным курсором.

В обоих случаях мне, очевидно, не удалось добиться желаемого поведения перекрытия, но также стоит отметить, что у меня возникли проблемы с тем, чтобы что-то велось "чисто", когда я мог использовать систему координат координат существующего ползунка, чтобы поместить свою середину -бар (что-то вроде «ширина: 2%; слева: 49%», чтобы разместить его).

Я видел похожую функциональность, работающую в некоторых примерах, но они были слишком сложными по другим причинам, и мне было трудно почерпнуть много из них. Если бы кто-то мог указать мне на ресурс или ресурсы или описать минимальные элементы, необходимые для того, чтобы это работало, это помогло бы расширить мое личное понимание css. Я не против обучения, но я думаю, что мне нужно, по крайней мере, указать верное направление.

1 Ответ

0 голосов
/ 12 марта 2019

это как ты этого хочешь ??использовал position:absolute для выравнивания

.slidecontainer .fa-square {
position:absolute;
top:10px;
left:50px;
}

.slider {
  -webkit-appearance: none;
  height: 8px;
  background: #d3d3d3;
  outline: none;
  border-radius: 5px;
}

.slider:hover {
  opacity: 1;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  background: #4CAF50;
  cursor: pointer;
  border-radius: 5px;
  position:relative;
  z-index: 2
}

.slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: #4CAF50;
  cursor: pointer;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<div class="slidecontainer">
<input type="range" min="1" max="100" value="50" class="slider" id="myRange">
  <i class="fa fa-square"></i>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...