CSS辞書
UIレシピ集に戻る

カスタムチェックボックス

フォームBaseline 広く利用可能

appearance: noneでブラウザ標準の見た目を外し、input要素自体をデザインするチェックボックス。キーボード操作もラベル連動もそのまま生きます。

プレビュー

Live

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

コードを編集して試す

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

HTML
CSS

仕組みの解説

昔の定番だった「inputを隠してspanを装飾」ではなく、appearance: none でinput要素自体を直接デザインします。要素を差し替えないので、クリック・スペースキー・label連動・:checked などの標準動作がすべてそのまま使えます。チェックマークは ::before の clip-path で描き、:checked で scale(0)→scale(1) に切り替えて表示します。

実装のポイント

色を変えたいだけなら accent-color: #b0413e; の1行で済みます。形まで変えたいときにこのレシピを使ってください。

AIに依頼するときの文例

appearance: noneを使ったカスタムチェックボックスを作ってください。inputを隠すのではなくinput自体を装飾し、チェックマークは::beforeとclip-pathで描画、:checkedで表示、focus-visibleのリングも付けてください。

使っているプロパティ