CSS辞書
UIレシピ集に戻る

スタイル済みレンジスライダー

フォームBaseline 広く利用可能

音量調整などに使うrangeスライダーの装飾。appearance: noneでトラックとつまみを自作し、ブラウザごとの見た目の差をなくします。

プレビュー

Live

プレビュー枠は右下をドラッグすると高さを変えられます

コードを編集して試す

書き換えるとプレビューに即反映されます。変更はこのページ内だけで、リロードすると元に戻ります。

HTML
CSS

仕組みの解説

rangeスライダーはブラウザ標準の見た目の差が大きい部品です。appearance: none でリセットし、トラックはinput自体の背景(linear-gradientの塗り分けで進捗風に)、つまみは ::-webkit-slider-thumb と ::-moz-range-thumb の2系統に同じ装飾を書きます。この2つのベンダー擬似要素は現状まとめて書けないため、別々のルールにする必要があります。

実装のポイント

塗り分けを実際の値に追従させるにはJSでinputイベントを拾いCSS変数を更新します。色だけならaccent-colorが最短です。

AIに依頼するときの文例

input type="range"のスライダーをカスタムデザインしてください。appearance: noneでリセットし、::-webkit-slider-thumbと::-moz-range-thumbの両方につまみの装飾を書き、focus-visibleのリングも付けてください。

使っているプロパティ