我正在完成一个W3学校的教程,我无法弄清楚如何使文本的空白区域正确,而不是检查"单击时的复选框(对于我正在处理的类似程序)。我只想在单击框或文本时激活复选框。
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_custom_checkbox
答案 0 :(得分:0)
更改.container的css。填充 - 从35px到25像素。它会消除空白区域。
.container {
display: block;
position: relative;
padding-left: 25px;
margin-bottom: 12px;
cursor: pointer;
font-size: 22px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
答案 1 :(得分:0)
尝试使用ul,li
使用li逐行显示 然后把你的标签包裹在里面。
使标签(.container)显示为“内联块”将有助于获取自动宽度
.container {
width: auto;
display: inline-block;
}
删除li上的列表样式
li {
list-style: none;
}
答案 2 :(得分:0)
只需在容器的样式中添加width: 25px;
即可。宽度应足够大,以覆盖每个复选框(请参阅下面的代码段):
/* Stylesheet */
/* The container */
.container {
display: block;
position: relative;
padding-left: 35px;
width: 25px; /* this was added to fix the issue */
margin-bottom: 12px;
cursor: pointer;
font-size: 22px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Hide the browser's default checkbox */
.container input {
position: absolute;
opacity: 0;
cursor: pointer;
}
/* Create a custom checkbox */
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 25px;
width: 25px;
background-color: #eee;
}
/* On mouse-over, add a grey background color */
.container:hover input~.checkmark {
background-color: #ccc;
}
/* When the checkbox is checked, add a blue background */
.container input:checked~.checkmark {
background-color: #2196F3;
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
content: "";
position: absolute;
display: none;
}
/* Show the checkmark when checked */
.container input:checked~.checkmark:after {
display: block;
}
/* Style the checkmark/indicator */
.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);
}
<!DOCTYPE html>
<html>
<body>
<h1>Custom Checkboxes</h1>
<label class="container">One
<input type="checkbox" checked="checked">
<span class="checkmark"></span>
</label>
<label class="container">Two
<input type="checkbox">
<span class="checkmark"></span>
</label>
<label class="container">Three
<input type="checkbox">
<span class="checkmark"></span>
</label>
</body>
</html>
应用此修复程序后,如果您将鼠标悬停在每个项目上,只要您离开复选框+文本区域,就会看到手形图标变为箭头。