如何创建一个带有可点击标签和可点击框的HTML复选框,而没有可点击的"空白"

时间:2018-04-13 06:20:56

标签: html css

我正在完成一个W3学校的教程,我无法弄清楚如何使文本的空白区域正确,而不是检查"单击时的复选框(对于我正在处理的类似程序)。我只想在单击框或文本时激活复选框。

https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_custom_checkbox

3 个答案:

答案 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;
}

参考:https://codepen.io/sprushika/pen/oqReEO

答案 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>

应用此修复程序后,如果您将鼠标悬停在每个项目上,只要您离开复选框+文本区域,就会看到手形图标变为箭头。