【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
にすることで使用できるようになります。
サンプル
実際に実装したものは以下になります。
参考