我有以下静态html文件,我花时间为我们的客户构建CMS Web应用程序站点。
http://cms.tmadev.com.au/usergroup.html
在中间部分,有一个垂直的复选框数组(我用它来设计它),我跟着很多在线教程,这些教程让我使用这个网站链接。
我下载源代码教程,理解它,复制css代码,根据我的客户要求定制我的更改。
一切看起来都很好 - 除非在尝试勾选复选框时。
没有发生!
单击时不会选中该复选框!
我无法弄清楚为什么它不起作用,因为它应该像教程一样。
有人可以告诉我我做错了吗?
这是我的代码。
input[type=checkbox].input-checkbox{
width: 1px;
height: 1px;
position: absolute;
overflow: hidden;
clip: rect(0,0,0,0);
margin: -1px;
padding: 0;
border: 0;
}
input[type=checkbox].input-checkbox + label.input-label{
border: 2px solid #58585A;
display: inline-block;
width: 20px;
height: 20px;
line-height: 15px;
background-repeat: no-repeat;
font-size:15px;
vertical-align: middle;
cursor: pointer;
}
input[type=checkbox].input-checkbox:checked + label.input-label{
background-position: 0 -20px;
}
.input-label{
background-image: url('/images/tickbox.png');
}
非常感谢!
答案 0 :(得分:20)
CSS很好。您的问题是将label
元素与input
元素相匹配。
此方法依赖于单击label
切换复选框的事实。如果label
未附加到复选框,则无效。将每个label
的{{1}}属性的值与每个复选框的for
相匹配。
例如:
id
答案 1 :(得分:1)
HTML中的label
元素在for
属性中的值不正确
每个label
必须具有与其要激活的复选框的for
完全匹配的id
属性值。
答案 2 :(得分:1)
标签上的for属性需要与输入的ID匹配。这对我有用:
<div class="inputfield">
<input type="checkbox" class="input-checkbox" id="checkbox1">
<label for="checkbox1" class="input-label"></label>
</div>
答案 3 :(得分:0)
尝试此代码
<label>
<input type="checkbox" class="input-checkbox" id="checkbox1" />
<span class="input-label">Your Label</span>
</label>
答案 4 :(得分:-1)
你必须更改id的标签 这是工作小提琴 我已经更改了这一行
<label for="checkbox2" class="input-label"></label>