2015-01-07 56 views
-1

我有两个复选框,其中有背景图片。当我删除这些背景图像特性时,复选框不显示。任何人都可以解决这个问题吗?我的项目中的html页面中的RadioButton错误页面

请找我的代码中的JS提琴here

HTML:

<table id="rbtnsslEnabled" class="chkMargin"> 
    <tbody> 
     <tr> 
      <td> 
       <input id="rbtnsslEnabled_0" type="radio" name="rbtnsslEnabled" value="SSL" /> 
       <label for="rbtnsslEnabled_0">SSL</label> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input id="rbtnsslEnabled_1" type="radio" name="rbtnsslEnabled" value="TLS" /> 
       <label for="rbtnsslEnabled_1">TLS</label> 
      </td> 
     </tr> 
    </tbody> 
</table> 

CSS:

table { 
    width: 100% !important; 
    border: none; 
    table-layout: fixed; 
} 
input[type=checkbox]:not(old), input[type=radio]:not(old) { 
    width: 40px; 
    margin: 0; 
    padding: 0; 
    opacity: 0; 
} 
input[type=checkbox]:not(old) + label, input[type=radio]:not(old) + label { 
    display: inline-block; 
    margin-left: -28px; 
    padding-left: 28px; 
    background: url('http://s6.postimg.org/4e4im9vkt/checks.png') no-repeat 0 0; 
    padding-bottom: 4px; 
} 
input[type="radio"], input[type="checkbox"] { 
    margin: 4px 0 0; 
    margin-top: 1px \9; 
    line-height: normal; 
} 
input[type=radio]:not(old):checked + label { 
    background-position: 0 -24px; 
} 

回答

1

这下面的CSS是有意隐藏(默认)单选按钮:

input[type=checkbox]:not(old), input[type=radio]:not(old) { 
    width: 40px; 
    margin: 0; 
    padding: 0; 
    opacity: 0; 
} 

专门

opacity: 0; 

其目的是给你看中了“绿色复选框”式的单选按钮。由于默认按钮是隐藏的,背景是代替按钮,所以隐藏背景,现在也隐藏了按钮。如果您只想使用普通单选按钮,请删除opacity: 0;风格fiddle,或者甚至整个块(fiddle