我有一个基本的自定义复选框,我需要框来更改状态以检查单击框但它不起作用。有人可以帮我找出问题吗?
input[type=checkbox] {
display: none;
}
input[type=checkbox] + .accord-text:before {
display: block;
content: "☐";
width: 30px;
height: 30px;
color: green;
}
input[type=checkbox]:checked + .accord-text:before {
content: "☑";
}

<lable for='product-45-45'>
<input type='checkbox' style="float:right;"/>
<div class="accord-text">
<strong>header:</strong> sub text
<strong>more text!</strong>
</div>
</lable>
&#13;
答案 0 :(得分:4)
在您的代码中进行以下两项更正:
您使用拼写错误的HTML
代码。
<lable for='product-45-45'>
^^^ Check spelling here. Must be <label>
您忘记将id
添加到与input
相关联的label
元素。
input[type=checkbox] {
display: none;
}
input[type=checkbox] + .accord-text:before {
display: block;
content: "☐";
width: 30px;
height: 30px;
color: green;
}
input[type=checkbox]:checked + .accord-text:before {
content: "☑";
}
<label for='product-45-45'>
<input type='checkbox' id="product-45-45" style="float:right;"/>
<div class="accord-text">
<strong>header:</strong> sub text
<strong>more text!</strong>
</div>
</label>
答案 1 :(得分:4)
您必须使用{{1} 链接 label
(请注意,它是错误的标签) } id 让它工作 - 见下面的演示:
input
&#13;
input[type=checkbox] {
display: none;
}
input[type=checkbox] + .accord-text:before {
display: block;
content: "☐";
width: 30px;
height: 30px;
color: green;
}
input[type=checkbox]:checked + .accord-text:before {
content: "☑";
}
&#13;