リファレンス

【2020年版】<input type="range">の使い方・サンプルコード

<input>要素の type 属性に range を指定すると大まかな数値を入力するためのスライダーを作成することができます。

正確な数値を必要としない場合に使用することができます。厳密な数値を入力する場合は <input type="number"> を使用します。

デモ:<input type="range">

 
 

属性

<input type="range" 属性名="ここに値を指定">
 

autocomplete

ブラウザによる自動補完機能を使用するかどうかを指定します。

指定できる値は「<input> 要素 autocomplete 属性に指定できる値まとめ」をご確認ください。
 

autofocus

ページの読み込みが完了したときに、この属性を持った要素にフォーカスします。論理属性です。

フォーム内の一つの要素だけに指定できます。
 

HTMLコード
<input type="range" name="range" autofocus>
実行結果


 

disabled

ユーザーがスライダーを操作できないようにします。論理属性です。

disabled を指定すると input 要素の色が少し薄く表示され、フォームを送信しても値は送信されません。
 

HTMLコード
<input type="range" name="range" disabled>
実行結果


 

form

関連付けたい form 要素の id を指定します。この属性を指定しない場合は、親要素に form 要素が存在すれば、その form 要素に関連付けられます。

form 属性を指定することで、form 要素の子要素に input 要素を置かなくても、同じ HTML 文書中にあるフォームに関連付けることができます。
 

以下のサンプルでは、1行目の input 要素をフォームのデータとして送信することができます。

<input type="range" name="range" form="myForm">

<form id="myForm">
  <input type="text" name="name" placeholder="山田太郎">
  <input type="submit" value="登録">
</form>

 

list

datalist 要素と組み合わせて、数値を指定する目安となる目盛りを表示することができます。
* 2020年3月現在、Firefox と Safari は非対応

datalist 要素と関連付けるために、list 属性の値とdatalist 要素の id 属性の値を一致させる必要があります。
 

以下のサンプルでは、list 属性の値「range-list」とdatalist 要素の id 属性の値「range-list」を一致させて、5つの目盛りを表示しています。

HTMLコード
<input type="range" name="range" list="range-list">
<datalist id="range-list">
  <option value="0">
  <option value="25">
  <option value="50">
  <option value="75">
  <option value="100">
</datalist>
実行結果
Chrome
Edge

参考:【2020年版】<datalist>要素の使い方・サンプルコード – HTMLリファレンス
 
 

max

指定できる数値の最大値を指定します。規定値は100です。

<input type="range" name="range" max="50">

 
 

min

指定できる数値の最小値を指定します。規定値は0です。

<input type="range" name="range" min="10">

 
 

name

要素に名前を付けます。

<input type="range" name="range">

 
 

step

キーボードのを使って数値を指定するときに、スライダーを動かす数値の間隔を指定します。

規定値は 1 です。
 

以下のサンプルでは、矢印を押すと、10 毎にスライダーを動かすことができます。

HTMLコード
<input type="range" name="range" value="50" step="10">
実行結果


 
 

tabindex

TABキーを押した時にフォーカスされる input 要素の順番を指定します。
 

以下のサンプルでは、name="input1" の要素にフォーカスした状態(文字を入力できる状態)でTABキーを押すと「input1 → input2 → input3 → range」の順番でフォーカスが動きます。

<input type="text" name="input3" placeholder="3" tabindex="3">
<input type="text" name="input2" placeholder="2" tabindex="2">
<input type="text" name="input1" placeholder="1" tabindex="1">
<input type="range" name="range" tabindex="4">

 
 

value

初期状態で表示する数値を指定します。

HTMLコード
<input type="range" name="range" value="10">
実行結果


 

グローバル属性

全ての HTML に共通して使用できるグローバル属性はこちら
 
 

使用例

例① 基本的な使い方

HTMLコード
<input type="range" name="range" value="50">
実行結果


 

例② スライダーを縦方向にする

スライダーを縦方向に表示する方法はブラウザによって異なるのでご注意ください。

Chrome, Opera, Safari の場合

input[type="range"] {
  -webkit-appearance:slider-vertical;
}

 

IE, Edge の場合

input[type="range"] {
  writing-mode: bt-lr;
}

 

Firefox の場合

orient 属性に vertical を指定します。

<input type="range" name="range" orient="vertical">

 

まとめ

HTMLコード
<input type="range" name="range" min="0" max="100" value="50" orient="vertical">
<style type="text/css">
  input[type="range"] {
    -webkit-appearance:slider-vertical;
    writing-mode: bt-lr;
  }
</style>
実行結果


 

対応ブラウザ

 
 

関連するタグ

 

HTML タグ一覧はこちら

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA