自定义单选按钮、复选框

来源:互联网 发布:淘宝假冒品牌 自动退款 编辑:程序博客网 时间:2024/05/05 20:19

单选按钮 / 复选框 样式自定义

 

一直以来都对单选按钮(radio) / 复选框(checkbox) 的默认样式感到头疼,不够美观!

恰好学习css3 学到了一个选择器 :checked,学着做了一个简单的样式自定义。

主要的思想在于:设置自带的样式的透明度为0,然后使用绝对定位混淆视听

 


 

先来说说单选按钮

 

代码如下:

 

css:

复制代码
 1 <style type="text/css"> 2  *{ 3     padding: 0; 4     margin: 0;  5  } 6  .content{ 7     border: 1px solid black; 8     width: 450px; 9     height: 200px;10     margin:0 auto;11     margin-top: 100px;12  }13  .sex{14     margin-left: 35%;15     margin-top: 15%;16  }17  .radio_btn{18     background: orange;19     display: inline-block;20     width: 30px;21     height: 30px;22     border-radius: 30px;23     position: relative;24     vertical-align: middle;25  }26  .radio_btn input{27     width: 100%;28     height: 100%;29     position: absolute;30     top: 0;31     left: 0;32     z-index: 100;33     opacity: 0;34  }35  .radio_btn span{36     background: #fff;37     width: 10px;38     height: 10px;39     display: inline-block;40     position: absolute;41     z-index: 1;42     top: 10px;43     left: 10px;44     border-radius: 10px;45  }46  .radio_btn input[type="radio"] + span{47     opacity: 0;48  }49  .radio_btn input[type="radio"]:checked + span{50     opacity: 1;51  }52 </style>
复制代码

 

html:

复制代码
 1 <div class="content"> 2     <div class="sex"> 3  4         <span class="radio_btn"> 5             <input type="radio" name="sex" id="man" /> 6             <span></span> 7         </span> 8         <label for="man" ></label> 9 10         <span class="radio_btn">11             <input type="radio" name="sex" id="male">12             <span></span>13         </span>14         <label for="male"></label>15         16     </div>17   </div>
复制代码


结果如下:

 

   

                                      图1-1

 

相对于默认样式,是不是看起来舒服多了?下面我们看看复选框

 


 

css:

复制代码
    <div class="check-box">    <div class="wrapper">        <div class="box">          <input type="checkbox" checked="checked" id="milk" /><span></span>        </div>        <lable for="milk">牛奶</lable>      </div>            <div class="wrapper">        <div class="box">          <input type="checkbox"  id="water" /><span></span>        </div>        <label for="water"></label>      </div></div>
复制代码

 

html:

复制代码
    <style type="text/css">      .check-box {        border: 1px solid #ccc;        padding: 20px;        width: 300px;        margin: 30px auto;      }      .wrapper {        margin-bottom: 10px;      }      .box {        display: inline-block;        width: 20px;        height: 20px;        margin-right: 10px;        position: relative;        border: 2px solid orange;        vertical-align: middle;      }      .box input {        opacity: 0;        position: absolute;        height: 20px;        width: 20px;        top:-3px;        left:-3px;        z-index: 100;        cursor: pointer;      }      .box span {        position: absolute;        top: -10px;        right: 3px;        font-size: 30px;        font-weight: bold;        font-family: Arial;        -webkit-transform: rotate(30deg);        transform: rotate(30deg);        color: orange;        z-index: 2;      }      input[type="checkbox"] + span {        opacity: 0;      }      input[type="checkbox"]:checked + span {        opacity: 1;      }    </style>
复制代码

 

结果如下:

 

   
牛奶

                                       图1-2

 

以上内容,如有错误请指出,不甚感激。

原创粉丝点击