JavaScriptを有効にしてください

【CSS】ボタンみたいなチェックボックスを作る

 ·  ☕ 2 分で読めます

【CSS】ボタンみたいなチェックボックスを作る

今回はCSSを使用してボタンのようなチェックボックスを作ります。

サンプルコード

HTMLとCSSのを使用して実装します。

1
2
3
<label for="sample" class="chk_label">
  <input type="checkbox" id="sample" value="1" />チェック
</label>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
.chk_label {
  display: inline-block;
  padding: 10px;
  background-color: #ddd; /* 未チェック時の背景色 */
  color: #333; /* 未チェック時のテキスト色 */
  cursor: pointer;
  margin: 3px;
  border-radius: 25px;
  font-size: 1rem;
  transition: background-color 0.3s ease; /* 背景色の変化をスムーズにする */
}

.chk_label input[type="checkbox"] {
  display: none; /* チェックボックスを隠す */
}

.chk_label:has(input[type="checkbox"]:checked) {
  background-color: #007BFF; /* チェックされた時の背景色 */
  color: #fff; /* チェックされた時のテキスト色 */
}

注意

今僕が使用している Firefox 114.0.2 では対応していない模様。

以下のサイトで使用できるか確認してみてください。
Can I Use :has()

今後対応する予定の模様です。
418039 – Implement the :has() pseudo class

Firefox で使用したい場合

Firefox は about:config ページより layout.css.has-selector.enabled の設定を true にすることで使用できるようになります。

サンプル

実際に実装したものは以下になります。

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer