CSS辞書
UIレシピ集に戻る

カスタムセレクトボックス

フォームBaseline 広く利用可能

appearance: noneで標準の見た目を外し、矢印を自作したセレクトボックス。ブラウザ間の見た目の差をなくしつつ、キーボード操作は標準のままです。

プレビュー

Live

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

コードを編集して試す

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

HTML
CSS

仕組みの解説

select要素は ::after などの疑似要素が使えないため、ラッパーdivを1枚かぶせてそちらに矢印を描きます。矢印には pointer-events: none を指定し、クリックが下のselectへ素通りするようにします。appearance: none で消えるのは「閉じた状態」の見た目だけで、開いたドロップダウンの中身はOS標準のまま(装飾不可)という割り切りも覚えておくと迷いません。

実装のポイント

ドロップダウンの中身までデザインしたい場合は、カスタマイズ可能セレクト(appearance: base-select、実験的)かJSコンポーネントの領域になります。

AIに依頼するときの文例

カスタムデザインのセレクトボックスを作ってください。appearance: noneで標準の見た目を外し、ラッパー要素の::after + clip-pathで矢印を自作、pointer-events: noneでクリックを妨げないようにしてください。

使っているプロパティ