选中CSS样式复选框 - 不工作

时间:2014-01-22 00:10:37

标签: html css checkbox

我有以下静态html文件,我花时间为我们的客户构建CMS Web应用程序站点。

http://cms.tmadev.com.au/usergroup.html

在中间部分,有一个垂直的复选框数组(我用它来设计它),我跟着很多在线教程,这些教程让我使用这个网站链接。

http://csscheckbox.com/

我下载源代码教程,理解它,复制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');
}

非常感谢!

5 个答案:

答案 0 :(得分:20)

CSS很好。您的问题是将label元素与input元素相匹配。

此方法依赖于单击label切换复选框的事实。如果label未附加到复选框,则无效。将每个label的{​​{1}}属性的值与每个复选框的for相匹配。

例如:

id

LIVE EXAMPLE HERE

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

http://jsfiddle.net/jUa3P/146/