JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

FirefoxでHTML5のrangeスライダーを垂直方向に表示する方法

FirefoxでHTML5のrangeスライダーを垂直方向に表示する方法

現在では、FirefoxブラウザでもHTML5の input type="range" を縦方向(垂直方向)に表示することが可能です。rangeスライダーは標準では横方向に表示されますが、CSSの変換機能(transform)を活用することで、簡単に縦向きのスライダーを実現できます。

HTMLコード

まず、以下のようなHTMLでrangeスライダーを作成します。

<input type="range" name="range" min="0" max="10" step="1" value="2" />

CSSコード

続いて、スライダーを回転させるためのCSSを適用します。

input[name="range"] {
    position: relative;
    top: 150px;
    width: 200px;
    height: 13px;
    border: 0;
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    transform: rotate(270deg);
}

コードの解説

ポイントとなるのは transform: rotate(270deg) の部分です。スライダー全体を270度回転させることで、水平方向のスライダーが垂直方向に表示されます。ベンダープレフィックスとして -webkit-(Chrome・Safari向け)と -moz-(Firefox向け)も併せて指定しておくことで、複数のブラウザに対応できます。

また、position: relativetop: 150px を組み合わせることで、回転によって生じる位置のずれを調整しています。回転は要素の中心を基準として行われるため、ページのレイアウトに応じてこれらの値は適宜変更してください。

この手法を使えば、音量コントロールやグラフの縦軸など、縦方向のスライダーが求められるUIを手軽に実装できます。

  1. HTMLのrange入力タイプの使い方を解説!スライダーで数値範囲を入力する方法

    HTMLの <input type=range> は、一定の範囲内から値を選択できる入力欄を作成するための要素です。ユーザーにはスライダー(つまみをドラッグするバー)として表示され、マウスやタッチ操作で直感的に数値を指定できます。range入力タイプの基本range型では、選択できる数値に制限を設けることができます。制限を指定するには、以下のような属性を使用します。min:選択可能な最小値を指定します。max:選択可能な最大値を指定します。step:値が変化する間隔(刻み幅)を指定します。例えば「step=5」とすると、0・5・10…のように5刻みで選択されます。これらの属性を省略

  2. HTML DOM Input Range typeプロパティの使い方を徹底解説

    HTML DOM Input Range typeプロパティとはHTML DOMのInput Range typeプロパティは、type=rangeが指定されたinput要素に関連付けられたプロパティです。range型の入力フィールドに対してこのプロパティを参照すると、常に文字列「range」を返します。range型はスライダー形式の入力コントロールを表す要素であり、音量調整や評価値の選択などでよく使われます。JavaScript側で要素の種類を動的に確認したい場合に、このtypeプロパティが役立ちます。構文range typeプロパティの構文は以下の通りです。rangeObject.type