Вертикальный слайдер для chrome и moz

#html #css #slider

#HTML #css #слайдер

Вопрос:

Я создаю вертикальный слайдер, используя -moz и -webkit. В Mozilla я объявляю его вертикальным, используя orient=»vertical», и все стили работают нормально. В Chrome, поскольку я использую -webkit-appearance: нет; для стилизации я не могу использовать -webkit-appearance: slider-vertical, это заставляет меня использовать -webkit-transform: поворот (90 градусов);

Проблема в том, что в Mozilla я могу использовать height для объявления реальной высоты слайдера, вместо этого поворачивая его с помощью chrome, я вынужден использовать width.

 #sens[type=range]{
    -webkit-appearance: none;
     height: 220px; //in chrome is width since it is rotated
}
  

Как я могу это решить?

Комментарии:

1. почему вы не можете использовать -webkit-внешний вид: слайдер-вертикальный?

2. потому что тогда вы не сможете добавить к нему пользовательские стили. смотрите: bugs.chromium.org/p/chromium/issues/detail?id=341071

Ответ №1:

хорошо, я думаю, вам нужно что-то вроде этого.

Для начала вам нужно прочитать о ::-webkit-slider-runnable-track и ::webkit-slider-thumb . link1 и link2 очень полезные свойства.

И теперь вы можете сделать это так:

 input[type=range] {
  -webkit-appearance: none;
  -webkit-transform: rotate(90deg);
  margin-top: 50px;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 300px;
  height: 5px;
  background: #ccc;
  border: none;
  border-radius: 3px;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: red;
  margin-top: -5px;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: #ddd;
}  
 <input type="range" />  

Комментарии:

1. Я ошибаюсь или вертикальный слайдер в вашем коде горизонтальный? Это не то, о чем я спрашивал

2. @user217354 Вы видите в коде горизонтальный слайдер? Какой браузер вы используете?

3. В firefox он горизонтальный, в chrome — вертикальный. Ползунок должен быть вертикальным во всех браузерах

4. @user217354 о, ты прав) Я обновил ответ. Просто удалите ` orient=»vertical»`