使用CSS3制作酷炫防苹果复选框 自行测试!

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
<style>
body{
background:#eee;
}
.lbl{
/*复选框背景色*/
 height:20px;
 width:50px;
 display:block;/*元素将显示为块级元素*/
 background:#ddd;
 border-radius:20px;/*为元素添加圆角边框*/
 cursor:pointer;/*鼠标样式*/
 position:relative;/*相对定位*/
 transition:all 0.3s ease;/*平滑过渡效果*/
}
.cbx:checked ~ label{
/*设置选中的复选框的兄弟元素label的背景色*/
 background:#42d842;
}
.lbl:after{
 /*在元素的内容后面插入内容*/
 content:'';
 width:25px;
 height:25px;
 display:block;
 background:#fff;
 border-radius:25px;/*为元素添加圆角边框*/
 box-shadow:0px 3px 3px rgba(0,0,0,0.05);/*为元素设置阴影*/
 transition:all 0.3s ease;/*平滑过渡效果*/
 position:absolute;
/*绝对定位,父容器使用相对定位,子元素使用绝对定位后,
这样子元素的位置不再相对于浏览器左上角,而是相对于父窗口左上角*/
  /*调整元素位置*/
  left:-2px;
  top:-3px;
}
.cbx:checked ~ label:after{
  /*改变选中状态的复选框的兄弟元素label的圈圈位置*/
  left:25px;
  background:#fff;
}
.lbl:active:after{
  /*设置点击时候圈圈进行缩放动画*/
  transform:scale(2,0.8);
}
.hidden{
  /*隐藏复选框*/
  display:none;
}
.cbx:disabled ~ label{
  /*设置复选框禁用時候的兄弟元素label樣式*/
  background:#d5d5d5;
  pointer-events:none;/*阻止点击动作产生效果*/
}
.cbx:disabled ~ label:after{
  /*设置复选框禁用時候的兄弟元素label圈圈樣式*/
  background:#bcbdbc;
}
.check{
  /*设置元素的下边距*/
  margin-bottom:20px;
}
.content{
  width:100px;
  margin:100px auto;/*设置居中*/
}
</style>
</head>
<body>
<div class="content">
  <div class="check">
    <input type="checkbox" id="uncheckbox" class="cbx hidden" name="1" />
    <label for="uncheckbox" class="lbl"></label>
    <!--for 属性规定 label 与哪个表单元素绑定。-->
  </div>
  <!--再来一个禁用的复选框-->
  <div class="check">
    <input type="checkbox" id="discheckbox" class="cbx hidden" name="sb" disabled/>
    <label for="discheckbox" class="lbl"></label>
  </div>
  <!--再来一个选中状态的复选框-->
  <div class="check">
    <input type="checkbox" id="checkbox" class="cbx hidden" name="1" checked/>
    <label for="checkbox" class="lbl"></label>
  </div>
</div>

</body>
</html>

 

chrome浏览器效果图!   主流浏览器一切正常。除了ie8 以下不兼容。  万恶的IE之源 赶紧从中国消失吧。 

posted @ 2015-10-22 09:01  顺其自然²º¹?  阅读(236)  评论(0编辑  收藏  举报