【HTML/CSS】inputタグのcheckboxのボックスとチェックマークのカスタマイズ例/自作デザインしたい場合の作り方【CodePen】

【HTML/CSS】inputタグのcheckboxのボックスとチェックマークのカスタマイズ例/自作デザインしたい場合の作り方【CodePen】
SIM

ちょっと変わった形状のチェックボックスを自作する機会があったので、忘備録としてまとめておきます。

目次

今回、自作することになったチェックボックス

SIM

「まずは、結論から」ということで、今回自作したチェックボックスのCodePenを下に貼っておきます。コードと動作をご確認下さい。

See the Pen Untitled by Satoru Shimizu (@sat-simizu) on CodePen.

SIM

そして、下記がCSSを変えてないノーマル形状のチェックボックスです。上の例との大きな違いはチェックマークの形状です。

See the Pen Untitled by Satoru Shimizu (@sat-simizu) on CodePen.

チェックボックス自作の方法

ノーマルチェックボックスを非表示にする方法

SIM

「どうやって自作したのか?」というと、ノーマル形状のチェックボックスを消して、新たに作っています。

ノーマルのチェックボックスを非表示にするにはCSSに次のコードを書きます。

/* ノーマルチェックボックスを非表示に */
input[type="checkbox"] {
  display: none;
}

HTML構造について

SIM

HTML構造は今回は簡易的なタイプを使いました。

  <!-- チェックボックス全体の囲い   -->
  <label class="checkbox-wrapper">
    <!--   チェックボックスの枠   -->
    <input type="checkbox" checked="checked">
    <!--   チェックボックス内のチェックマーク(通常はチェックマーク)   -->
    <span class="checkmark"></span>
    <!--   ラベルの文字   -->
    哺乳類
  </label>

CSSの書き方

SIM

CSSは下のような通りです。

/* チェックボックス全体 */
.checkbox-wrapper {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-top: 22px;
  cursor: pointer;
  font-size: 16px;
  user-select: none;
}
/* チェックボックスのスタイル */
.checkbox-wrapper .checkmark {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 18px;
  width: 18px;
  border: 1px solid #122E4F;
  box-sizing: border-box;
}
/* チェックマーク作成 */
.checkbox-wrapper .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 4px;
  top: 4px;
  width: 8px;
  height: 8px;
  background-color: #CD3D69;
  border-radius: 50%;
}
/* チェック時のスタイル */
.checkbox-wrapper input:checked + .checkmark {
  border: 1px solid fw.$check-box;
}
/* チェック時 チェックマーク表示 */
.checkbox-wrapper input:checked + .checkmark:after {
  display: block;
}

/* 以下、体裁を整えるためのCSS */
.container{
  width: 300px;
  margin: 50px auto;
}
SIM

上のCSSの要点をまとめると次のとおりです。

自作チェックボックスのCSS
  • チェックボックス全体のスタイルは「.checkbox-wrapper」:主にラベル(文字サイズ・行間など)の書式設定
  • チェックボックス枠線のスタイルは「.checkbox-wrapper .checkmark」:チェックボックス枠線のスタイル(サイズ・色・位置など)
  • チェックマークのスタイルは「.checkbox-wrapper .checkmark:after」:通常はチェックマークだが、今回は「赤い丸印」に変更、チェック前は非表示(display: none;)
  • チェック時のチェックボックス枠線スタイルは「.checkbox-wrapper input:checked + .checkmark」:今回は、チェック前と同じスタイル(枠線の太さ・色)
  • チェック時にチェックマーク表示するには「.checkbox-wrapper input:checked + .checkmark:after」:表示させるために「display: block;」

まとめ

SIM

以上、ちょっと変わったチェックボックスの自作の仕方を紹介しました。

  • このチェックボックスのコードにはid属性、name属性、value属性が含まれていないので、送信フォームをphpで自作する場合にはもうひと工夫必要です。
  • WordPress案件でContactForm7等のフォームを利用する場合についてはカスタマイズ方法を別記事にまとめています(下記参照)。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

■清水WEB制作代表
■コーディング:WordPress(オリジナルテーマ制作等)・HTML・Sass・FLOCSS・JavaScript(jQuery)等
■集客力:YouTube/Instagram/ブログでそれぞれ登録者数16000人/フォロワー13000人/月間最大アクセス50000PVの集客実績があります
■文章作成:博士号所有、会社員時代は科学雑誌に寄稿していたので文章作成も得意です
■写真技術:Amazon Kindle出版で、写真集・撮影編集解説書を5冊好評発売中です

目次