问题描述
我正在使用标签来检查/取消选中隐藏的复选框。我需要能够在div内的任意位置单击,并使标签位于同一div的中心。
这是我的html:
<div id="syllabe" class="container">
<div id="syllabe-1" class="syllabe-container"><label for="toggle-syllabe-1">1</label></div>
<div id="syllabe-2" class="syllabe-container"><label for="toggle-syllabe-2">2</label></div>
<div id="syllabe-3" class="syllabe-container"><label for="toggle-syllabe-3">3</label></div>
<div id="syllabe-4" class="syllabe-container"><label for="toggle-syllabe-4">4</label></div>
<div id="syllabe-5" class="syllabe-container"><label for="toggle-syllabe-5">5</label></div>
</div>
<div id="syllabe2" class="container">
blabla2
</div>
<div id="syllabe3" class="container">
blabla3
</div>
<div id="syllabe4" class="container">
<input type="checkbox" id="toggle-syllabe-1" onclick="toggle(this)">
</div>
CSS:
body {
display: grid;
grid-template-columns: repeat(2,1fr);
grid-template-rows: repeat(2,1fr);
grid-auto-flow: column;
}
#syllabe {
display: grid;
grid-auto-flow: column;
}
.container {
border: 1px solid black;
}
.syllabe-container {
font-size: xx-large;
background-color: aqua;
border: 1px solid red;
}
.syllabe-container-selected {
font-size: xx-large;
background-color: yellow;
border: 1px solid black;
}
#syllabe3 {
height: 200px;
}
label {
display: block;
}
和JS(使用JQuery):
let toggle = (checkbox) => {
if (checkbox.checked) {
$("#syllabe-1").removeClass("syllabe-container").addClass("syllabe-container-selected")
} else {
$("#syllabe-1").removeClass("syllabe-container-selected").addClass("syllabe-container")
}
}
$(function() {
})
在完全点击1
之后:
我如何(垂直和水平)将数字1
居中并能够单击黄色区域内的任意位置以激活复选框?
在容器上使用margin: auto;
会减少标签的活动空间,并且无法实现我想要的功能:
这是一个包含所有内容的jsFiddle。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)