Я пытаюсь сделать настраиваемые кнопки флажков, которые при нажатии будут менять свой цвет как индикатор того, что они активны. Я дошел до точки, где это почти готово, но флажок появляется слева от поля, а не является самой кнопкой. Я не могу понять, как это сделать.
input[type=checkbox] {
width: auto;
height: 20px;
cursor: pointer;
position: relative;
opacity: 0;
z-index: 9999;
}
input[type=checkbox] + label {
font-family: "Aharoni";
display: inline-block;
background: #dcdcdc;
color: black;
font-size: 12px;
font-weight: 400;
text-align: center;
border: solid 1px #a8a8a8;
border-bottom-color: black;
border-radius: 0px;
width: auto;
height: 20px;
padding-left:5px;
padding-right:5px;
cursor: pointer;
position: relative;
}
input[type=checkbox]:checked + label,
input[type=checkbox]:active + label {
background:gray;
color:white;
}<input type = "checkbox" name = "test" /><label>Text goes here</label></input>





Вы можете сделать это следующим образом, это решит вашу проблему:
Добавьте атрибут for в метку и установите атрибут id в типе input, это свяжет оба элемента, и вы сможете получить желаемый результат.
<input id = "my_checkbox" type = "checkbox" name = "test" />
<label for = "my_checkbox">
Text goes here
</label>
</input>
Здесь я поместил id = "my_checkbox" во вход флажка и добавил в атрибут for = "my_checkbox".
input[type=checkbox] {
width: auto;
height: 20px;
cursor: pointer;
position: absolute;
opacity: 0;
z-index: 9999;
}
input[type=checkbox] + label {
font-family: "Aharoni";
display: inline-block;
background: #dcdcdc;
color: black;
font-size: 12px;
font-weight: 400;
text-align: center;
border: solid 1px #a8a8a8;
border-bottom-color: black;
border-radius: 0px;
width: auto;
height: 20px;
padding-left:5px;
padding-right:5px;
cursor: pointer;
position: relative;
}
input[type=checkbox]:checked + label,
input[type=checkbox]:active + label {
background:gray;
color:white;
}<input type = "checkbox" name = "test"><label>Text goes here</label></input>
Можете поставить исполняемый скрипт, чтобы нам было легко анализировать код?