#html #css
Вопрос:
У меня есть пользовательский флажок, который срабатывает за пределами поля, когда я нажимаю на страницу в специальной области, например, несколько пикселей вокруг поля в строке. как я могу исправить то, что он срабатывает только в поле по щелчку мыши?
HTML:
<label class="container">
<input type="checkbox" value="1" name="publish" checked="checked">
<span class="checkmark"></span>
</label>
CSS:
input[type=checkbox] {
visibility: hidden;
}
.checkmark {
position: fixed;
margin-top: -6px;
margin-left: 500px;
height: 25px;
width: 25px;
}
.container:hover input ~ .checkmark {
background-color: #ccc;
}
.container input:checked ~ .checkmark {
background-color: #5865F2;
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
.container input:checked ~ .checkmark:after {
display: block;
}
.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);
}
Комментарии:
1. Пожалуйста, объясните более подробно, что вы хотите получить, и мы обязательно вам поможем.
2. Или покажите проблему на скриншоте.
Ответ №1:
Теперь все работает правильно.
<label class="container">
<input type="checkbox" value="1" name="publish" checked="checked">
<span class="checkmark"></span>
</label>
<style>
input[type=checkbox] {
visibility: hidden;
}
.checkmark {
position: fixed;
border: 2px solid black;
margin-top: -6px;
margin-left: 500px;
height: 25px;
width: 25px;
}
.container:hover input ~ .checkmark {
background-color: #ccc;
}
.container input:checked ~ .checkmark {
background-color: #5865F2;
}
.checkmark:after {
content: "";
position: absolute;
border: 2px solid black;
display: none;
}
.container input:checked ~ .checkmark:after {
display: block;
}
.container .checkmark:after {
left: 9px;
border: 2px solid black;
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);
}
</style>