Ответ 1
Сначала установите высоту больше ширины. Теоретически это все, что вам нужно. HTML5 Spec предлагает как можно больше:
... UA определил ориентацию элемента управления по отношению к параметрам высоты и ширины, заданных в стиле листа.
Opera реализовала этот способ, но Opera теперь использует WebKit Blink. На сегодняшний день ни один браузер не использует вертикальный слайдер, основанный исключительно на высоте, большей ширины.
Независимо от этого, установка высоты, превышающей ширину, необходима для правильной компоновки между браузерами. Применение левого и правого заполнения также поможет в компоновке и позиционировании.
Для Chrome используйте -webkit-appearance: slider-vertical
.
Для IE используйте writing-mode: bt-lr
.
Для Firefox добавьте атрибут orient="vertical"
в html. Жаль, что они сделали это так. Визуальные стили должны управляться с помощью CSS, а не HTML.
input[type=range][orient=vertical]
{
writing-mode: bt-lr; /* IE */
-webkit-appearance: slider-vertical; /* WebKit */
width: 8px;
height: 175px;
padding: 0 5px;
}
<input type="range" orient="vertical" />