【发布时间】:2021-01-23 04:22:36
【问题描述】:
我正在使用标签来选中/取消选中隐藏的复选框。我需要能够单击 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。
【问题讨论】:
-
我无法理解您的问题更具体
-
请让我知道更多关于您的问题。您可以在画图软件中绘制出想要的结果。
-
图片还不够吗?
-
How could I center (vertically and horizontally) the number 1 and be able to click anywhere within the yellow zone to activate the checkbox ?有什么不清楚的地方吗?
标签: html jquery css checkbox centering