HTMLとCSSでチェックボックスの色と形をカスタムデザインする方法を現役デザイナーが解説【初心者向け】
初心者向けにHTMLとCSSでチェックボックスの色と形をカスタムデザインする方法について解説しています。チェックボックスの基本の作り方、デザインを指定する手順を説明します。大きさや色を変更してブラウザ上で確認してみましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
HTMLとCSSでチェックボックスの色と形をカスタムデザインする方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそも、HTMLの記述方法がわからない場合は、 HTMLの書き方について解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Webデザイン講座のHTMLカリキュラムをもとに執筆しています。

今回は、HTMLに関する内容だね!

どういう内容でしょうか?

HTMLとCSSでチェックボックスの色と形をカスタムデザインする方法について詳しく説明していくね!

お願いします!
チェックボックスのデフォルト表示を見てみよう
まず、チェックボックスのデフォルト表示を見てみましょう。コードはこのようになります。
<input type="checkbox" />ここをチェックするよ
これが基本的なチェックボックスのHTMLコードとなります。
HTMLとCSSでチェックボックスの色と形を変える方法
チェックボックスの色や形を変えたい場合はデフォルトのチェックボックスを非表示にし、疑似要素であるbeforeとafterを使うのが一般的ですが、inputタグには疑似要素が使えません。なので、labelタグにfor要素を使い、
<input type="checkbox" id="check1"> <label for="check1">ここをチェックするよ</label>
cssは
input#check1[type="checkbox"]+label{
/*ここにcssを書く*/
}
とします。また、チェックボックスをチェックしたときに表示される色や形については CSSにて
input#check1[type="checkbox"]:checked{
/*ここにチェックボックスがチェックされたときのcssを書く*/
}
と記述するとチェックされたとき用のスタイルを当てることができます。
HTMLとCSSでチェックボックスの色と形を変えてみよう
言葉で説明しても難しいので、実際にHTMLとCSSを記述してみました。
HTML
<input type="checkbox" id="check1"> <label for="check1">ここをチェックするよ</label>
css
  input[type="checkbox"] {
            display: none;
            /*デフォルトのチェックボックスを非表示にする*/
        }
        input#check1[type="checkbox"]+label {
            position: relative;
            padding-left: 15px;
            /*チェックボックス分の隙間を作る*/
        }
        input#check1[type="checkbox"]+label::before {
            content: "";
            display: block;
            width: 12px;
            height: 12px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            /*中央ぞろえにする*/
            border: 1px solid blue;
            /*お好きなや太さで。*/
            border-radius: 3px;
            cursor: pointer;
            /*ポインターを表示する*/
        }
        input#check1[type="checkbox"]:checked+label::before {
            /*チェックしたときの箱の色を変える*/
            background: cornflowerblue;
        }
        input#check1[type=checkbox]:checked+label::after {
            /*チェックの✓をつくる*/
            content: "";
            display: block;
            width: 10px;
            height: 6px;
            box-sizing: border-box;
            border-bottom: 2px solid #fff;
            border-left: 2px solid #fff;
            position: absolute;
            /*ここから下は位置を調整する*/
            top: 40%;
            left: 5px;
            /*箱を斜めに傾けてチェック表示にする*/
            -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg) translateY(-50%);
        }
監修してくれたメンター
| メンター増田直子 40歳直前までHTMLの存在すら知らなかったのですが、 現在はWordPressを中心としたwebデザイン/コーディングをしているフリーランサーです。趣味はスキューバーダイビング・年間3度は海のある国内外へ旅行してます。 | 

内容分かりやすくて良かったです!

ゆかりちゃんも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは初心者でも、オリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。
 
     
     
       
           
             
            