Stellen Sie zuerst die Höhe größer als die Breite ein. Theoretisch ist dies alles, was Sie brauchen sollten. Die HTML5-Spezifikation schlägt Folgendes vor :
... bestimmte die UA die Ausrichtung des Steuerelements aus dem Verhältnis der vom Stylesheet angegebenen Höhen- und Breiteneigenschaften.
Opera hatte es auf diese Weise implementiert, aber Opera verwendet jetzt WebKit Blink . Bis heute implementiert kein Browser einen vertikalen Schieberegler, der ausschließlich darauf basiert, dass die Höhe größer als die Breite ist.
Unabhängig davon ist es erforderlich, die Höhe größer als die Breite einzustellen, um das richtige Layout zwischen den Browsern zu erzielen. Das Anwenden der linken und rechten Polsterung hilft auch beim Layout und bei der Positionierung.
Verwenden Sie für Chrome -webkit-appearance: slider-vertical.
Verwenden Sie für IE writing-mode: bt-lr.
Fügen Sie für Firefox orient="vertical"dem HTML- Code ein Attribut hinzu. Schade, dass sie es so gemacht haben. Visuelle Stile sollten über CSS und nicht über HTML gesteuert werden.
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" />
Haftungsausschluss:
Diese Lösung basiert auf aktuellen Browser-Implementierungen von noch nicht definierten oder nicht finalisierten CSS-Eigenschaften. Wenn Sie beabsichtigen, es in Ihrem Code zu verwenden, müssen Sie Code-Anpassungen vornehmen, wenn neuere Browserversionen veröffentlicht und die Empfehlungen von w3c abgeschlossen werden.
MDN enthält eine explizite Warnung vor der Verwendung -webkit-appearanceim Web:
Verwenden Sie diese Eigenschaft nicht auf Websites: Sie ist nicht nur nicht standardisiert, sondern ihr Verhalten ändert sich auch von einem Browser zum anderen. Sogar das Schlüsselwort nonehat nicht das gleiche Verhalten für jedes Formularelement in verschiedenen Browsern, und einige unterstützen es überhaupt nicht.
Die Beschriftung für die Demo des vertikalen Schiebereglers in der IE-Dokumentation zeigt fälschlicherweise an, dass beim Festlegen einer Höhe über der Breite ein Bereichsschieberegler vertikal angezeigt wird. Dies funktioniert jedoch nicht . Im Codeabschnitt wird weder Höhe noch Breite festgelegt, sondern stattdessen verwendet writing-mode. Die vom IE implementiertewriting-mode Eigenschaft ist sehr robust. Leider sind die Werte, die im aktuellen Arbeitsentwurf der Spezifikation zum Zeitpunkt dieses Schreibens definiert sind, viel begrenzter. Sollten zukünftige Versionen des IE die Unterstützung zugunsten des derzeit vorgeschlagenen (was dem entspricht ) fallen lassen, wird der Schieberegler verkehrt herum angezeigt. Höchstwahrscheinlich würden zukünftige Versionen diebt-lrvertical-lrtb-lrwriting-modeneue Werte zu akzeptieren, anstatt die Unterstützung für vorhandene Werte zu streichen. Aber es ist gut zu wissen, womit Sie es zu tun haben.
-webkit-appearance- das wusste ich nicht. Es ändert alles.