单选按钮背景图像

时间:2012-06-29 06:22:11

标签: css html5 css3

我给了单选按钮的bg图像。它使用的是chrome,但不是mozilla。

这是我的代码

 <div class="fieldlist">
    <label for="shipadd2">
    <input type="radio" id="shipadd2" name="address" />   
    <div class="compacttext"> Lorem ipsum </div>
    </label>
  </div>

CSS

.fieldlist input[type="radio"] {
    float: right;
    -webkit-appearance: none;
    border: none;
    width: 25px;
    height: 25px;
    background: url(images/radio.png) left center no-repeat;    
    background-size: 20px; 
}
.fieldlist input[type="radio"]:checked {
    background: url(images/radio_checked.png) left center no-repeat;

}

3 个答案:

答案 0 :(得分:29)

像这样写:

<强> CSS:

input[type="radio"]{
    display:none;
}

input[type="radio"] + label
{
    background: #999;
    height: 16px;
    width: 16px;
    display:inline-block;
    padding: 0 0 0 0px;
}

input[type="radio"]:checked + label
{
    background: #0080FF;
    height: 16px;
    width: 16px;
    display:inline-block;
    padding: 0 0 0 0px;
}

<强> HTML

<input type="radio" id="shipadd2" name="address" />
<label for="shipadd2"></label>

阅读本文了解更多http://css-tricks.com/the-checkbox-hack/

答案 1 :(得分:0)

你想要这样的东西http://jsfiddle.net/surendraVsingh/UmpdH/5/(点击铃铛图标)

<强> CSS

label{
    display:block;
    background: url(https://dl.dropbox.com/u/19982181/fab/notify.png) no-repeat;   
}
.fieldlist input[type="radio"] {
    float: right;
    border: none;
    opacity:0;
    width: 25px;
    height: 25px;
    display:block; 
    float:left;
    border:1px solid #333;
    background-size: 20px; 
}

<强> Jquery的:

$("#shipadd2").click(function(){
    if($(this).is(":checked")){
       $(this).parent().css('background-position', '0 -29px');
   }
   else{
      $(this).parent().css('background-position', '0 0');   
   }

});​

答案 2 :(得分:-1)

尝试一下对我有用的

-moz-appearance: none;

谢谢