スライダー Slider

つまみをドラッグして範囲内の値を選択するフォーム要素。

使用場面: 音量調整、価格帯フィルター、画像の明るさ調整など 採用例: Spotify, Adobe Lightroom

ライブデモ

50
0100

ソースコード

<div class="demo-slider-group">
  <div class="demo-slider-header">
    <label class="demo-slider-label" for="demo-range">音量</label>
    <span class="demo-slider-value" id="demo-range-value">50</span>
  </div>
  <input type="range" class="demo-slider-input" id="demo-range" min="0" max="100" value="50" />
  <div class="demo-slider-minmax">
    <span>0</span><span>100</span>
  </div>
</div>
.demo-slider-group { max-width: 300px; }
.demo-slider-header { display: flex; justify-content: space-between; margin-bottom: 8px; }
.demo-slider-label { font-size: 13px; font-weight: 600; color: #333; }
.demo-slider-value { font-size: 13px; font-weight: 700; color: var(--ui-primary); }
.demo-slider-input {
  width: 100%; height: 6px; appearance: none; background: #e5e7eb;
  border-radius: 3px; outline: none;
}
.demo-slider-input::-webkit-slider-thumb {
  appearance: none; width: 20px; height: 20px;
  background: var(--ui-primary); border-radius: 50%; cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transition: transform 0.15s;
}
.demo-slider-input::-webkit-slider-thumb:hover { transform: scale(1.15); }
.demo-slider-input::-moz-range-thumb {
  width: 20px; height: 20px; background: var(--ui-primary);
  border-radius: 50%; cursor: pointer; border: none;
}
.demo-slider-minmax { display: flex; justify-content: space-between; font-size: 11px; color: #999; margin-top: 4px; }
document.getElementById('demo-range').addEventListener('input', function() {
  document.getElementById('demo-range-value').textContent = this.value;
});

AIプロンプト

Basic
スライダーをHTML/CSSで作ってください。つまみをドラッグして0〜100の値を選択できます。
Custom
以下の仕様でスライダーを実装してください。
- プライマリカラー: #2563eb
- つまみの上にツールチップで現在値を表示
- トラックの左側(選択済み部分)に色を付ける
- ステップ表示(目盛り付き)
- ダブルスライダー(範囲選択)
- 値変更時のアニメーション
Advanced
高機能なスライダーを実装してください。
- ダブルサム(範囲選択)対応
- aria-valuemin, aria-valuemax, aria-valuenow, aria-valuetext を使用
- キーボード操作(矢印キーで1ステップ、PageUp/Downで10ステップ)
- タッチデバイスでのスムーズなドラッグ
- カスタムステップ値(非線形スケール対応)
- 目盛りラベル表示
- リアルタイムでの値フォーマット(通貨、パーセントなど)
- prefers-reduced-motion対応