#html #css #checkbox
#HTML #css #чекбокс
Вопрос:
Как я могу убрать галочку в чекбоксе и заменить ее на букву?
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 25px;
width: 25px;
background-color: #eee;
}
Ответ №1:
В текущем коде это создает галочку:
.container .checkmark:after {
left: 9px;
top: 5px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
Обратите внимание, что он создает ее, используя границу повернутого квадрата (таким образом, метка на самом деле является углом квадрата). Вы можете сделать это как угодно, удалив свойства границы и добавив content: "Y"
, например (для Y вместо флажка). Но вам также придется затем поиграть с остальным стилем, чтобы он выглядел хорошо.
Ответ №2:
Метод, который я использовал, заключается в том, чтобы создать <span>
элемент, который содержит галочку рядом с <input>
, а затем использовать CSS, чтобы скрыть стиль по умолчанию и вместо этого поместить галочку внутрь. Теперь я пытался заменить галочку по умолчанию на симпатичную галочку, вы пытаетесь заменить ее буквой.
Хитрость в том, что я действительно использую прямоугольник и изменяю границы, чтобы превратить его в галочку. Я думаю, вы также могли бы просто использовать символ галочки в пределах диапазона, поэтому в вашей ситуации, если вы хотите иметь поле с «A» внутри при выборе. Измените мой код ::after (избавьтесь от границы) и поместите content:"A"
вместо этого, а затем просто слегка измените позиционирование.
HTML
<label class="checkbox__container">
<input type="checkbox" class="person__checkbox" />
<span class="checkmark"></span>
</label>
CSS
/* Customize the label (the container) */
.checkbox__container {
display: block;
position: relative;
padding-left: 35px;
cursor: pointer;
font-size: 22px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
height: 25px;
}
/* Hide the browser's default checkbox */
.checkbox__container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* Create a custom checkbox */
.checkbox__container .checkmark {
position: absolute;
top: 0;
left: 0;
height: 25px;
width: 25px;
background-color: #eee;
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkbox__container:after {
content: "";
position: absolute;
display: none;
}
/* Show the checkmark when checked */
.checkbox__container input:checked ~ .checkmark:after {
display: block;
}
/* Style the checkmark/indicator */
.checkbox__container .checkmark:after {
content: "";
position: absolute;
left: 8px;
top: 4px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
Ответ №3:
Если то, что вы хотите сделать, это убрать галочку программно после того, как она была нажата, тогда вы можете просто получить целевой элемент, используя jquery / javascript, а затем применить событие click.
$('#check_box input:checked').each(function() {
$(this).click();
});
or
let element = document.getElementById("checkboxElement");
element.click();