1. ホーム
  2. html

[解決済み] チェックボックスを透明にするには

2022-02-13 17:16:27

質問

チェックボックスを透明化するにはどうしたらいいですか?テキストフィールドやボタンではうまくいくのですが、チェックボックスではうまくいかないようです。 これは、私のコードの形式です。

#checkbox {
  width: 20px;
  height: 20px;
  cursor: pointer;
  vertical-align: bottom;
  color: black;
  background-color: rgba(0, 0, 0, 0.08);
}
<div class="checkbox check-transparent">
  <label>
      <input type="checkbox" id="checkbox">Onthoud mij
  </label>
</div>

解決方法は?

通常のチェックボックスに対してできることは、不透明度を下げて透明にすることだけですが、チェックした場合は中のチェックマークも薄くなってしまいます。回避策としては、チェックボックスをdivで囲み、以下のスニペットのようにチェックしたときの色を変更することです。

#checkb {
    width: 20px;
    height: 20px;
    cursor: pointer;
    background: rgba(40,40,40,0.2);
    color:black;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    position: relative;
    left: -5px;
    top: -5px;
}

#checkb:checked {
    background: rgba(40,40,40,0.7);
}


.checkbox-container {
    position: absolute;
    display: inline-block;
    margin: 20px;
    width: 100px;
    height: 100px;
    overflow: hidden;
}
<div class="checkbox-container">
<input type="checkbox" id="checkb"/> Input
</div>