css实现四组checkbox选中开关效果代码

代码语言:html

所属分类:布局界面

代码描述:css实现四组checkbox选中开关效果代码

代码标签: css checkbox 选中 开关

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <style>
        .wrapper{
    	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
    	width: 400px;
    	margin: 50vh auto 0;
    	-ms-flex-wrap: wrap;
    	    flex-wrap: wrap;
    	-webkit-transform: translateY(-50%);
    	        transform: translateY(-50%);
    }
    
    .switch_box{
    	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
    	max-width: 200px;
    	min-width: 200px;
    	height: 200px;
    	-webkit-box-pack: center;
    	    -ms-flex-pack: center;
    	        justify-content: center;
    	-webkit-box-align: center;
    	    -ms-flex-align: center;
    	        align-items: center;
    	-webkit-box-flex: 1;
    	    -ms-flex: 1;
    	        flex: 1;
    }
    
    /* Switch 1 Specific Styles Start */
    
    .box_1{
    	background: #eee;
    }
    
    input[type="checkbox"].switch_1{
    	font-size: 30px;
    	-webkit-appearance: none;
    	   -moz-appearance: none;
    	        appearance: none;
    	width: 3.5em;
    	height: 1.5em;
    	background: #ddd;
    	border-radius: 3em;
    	position: relative;
    	cursor: pointer;
    	outline: none;
    	-webkit-transition: all .2s ease-in-out;
    	transition: all .2s ease-in-out;
      }
      
      input[type="checkbox"].switch_1:checked{
    	background: #0ebeff;
      }
      
      input[type="checkbox"].switch_1:after{
    	position: absolute;
    	content: "";
    	width: 1.5em;
    	height: 1.5em;
    	border-radius: 50%;
    	background: #fff;
    	-webkit-box-shadow: 0 0 .25em rgba(0,0,0,.3);
    	        box-shadow: 0 0 .25em rgba(0,0,0,.3);
    	-webkit-transform: scale(.7);
    	        transform: scale(.7);
    	left: 0;
    	-webkit-transition: all .2s ease-in-out;
    	transition: all .2s ease-in-out;
      }
      
      input[type="checkbox"].switch_1:checked:after{
    	left: calc(100% - 1.5em);
      }
    	
    /* Switch 1 Specific Style End */
    
    
    /* Switch 2 Specific Style Start */
    
    .box_2{
    	background: #666;
    }
    
    input[type="checkbox"].switch_2{
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      width: 100px;
      height: 8px;
      background: #444;
      border-radius: 5px;
      position: relative;
      outline: 0;
      cursor: pointer;
    }
    
    input[type="checkbox"].switch_2:before,
    input[type="checkbox"].switch_2:after{
      position: absolute;
      content: "";
      -webkit-transition: all .25s;
      transition: all .25s;
    }
    
    input[type="checkbox"].switch_2:before{
      width: 40px;
      height: 40px;
      background: #ccc;
      border: 5px solid #666;
      border-radius: 50%;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
    }
    
    input[type="checkbox"].switch_2:after{
      width: 30px;
      height: 30px;
      background: #666;
      border-radius: 50%;
      top: 50%;
      left: 10px;
      -webkit-transform: scale(1) translateY(-50%);
              transform: scale(1) translateY(-50%);
      -webkit-transform-origin: 50% 50%;
              transform-origin: 50% 50%;
    }
    
    input[type="checkbox"].switch_2:checked:before{
      left: calc(100% - 35px);
    }
    
    input[type="checkbox"].switch_2:checked:after{
      left: 75px;
      -webkit-transform: scale(0);
              transform: scale(0);
    }
    
    /* Switch 2 Specific Style End */
    
    	
    /* Switch 3 Specific Style Start */
    
    .box_3{
    	background: #19232b;
    }
    
    .toggle_switch{
      width: 100px;
      height: 45px;
      position: relative;
    }
    
    input[type="checkbox"].switch_3{
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      cursor: pointer;
      outline: 0;
      z-index: 1;
    }
    
    svg.checkbox .outer-ring{
      stroke-dasharray: 375;
      stroke-dashoffset: 375;
      -webkit-animation: resetRing .35s ease-in-out forwards;
              animation: resetRing .35s ease-in-out forwards;
    }
    
    input[type="checkbox"].switch_3:checked + svg.checkbox .outer-ring{
      -webkit-animation: animateRing .35s ease-in-out forwards;
              animation: animateRing .35s ease-in-out forwards;
    }
    
    input[type="checkbox"].switch_3:checked + svg.checkbox .is_checked{
      opacity: 1;
      -webkit-transform: translateX(0) rotate(0deg);
              transform: translateX(0) rotate(0deg);
    }
    
    input[type="checkbox"].switch_3:checked + svg.checkbox .is_unchecked{
      opacity: 0;
      -webkit-transform: translateX(-200%) rotate(180deg);
              transform: translateX(-200%) rotate(180deg);
    }
    
    
    svg.checkbox{
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    
    svg.checkbox .is_checked{
      opacity: 0;
      fill: yellow;
      -webkit-transform-origin: 50% 50%;
              transform-origin: 50% 50%;
      -webkit-transform: translateX(200%) rotate(45deg);
              transform: translateX(200%) rotate(45deg);
      -webkit-transition: all .35s;
      transition: all .35s;
    }
    
    svg.checkbox .is_unchecked{
      opacity: 1;
      fill: #fff;
      -webkit-transform-origin: 50% 50%;
              transform-origin: 50% 50%;
      -webkit-transform: translateX(0) rotate(0deg);
              transform: translateX(0) rotate(0deg);
      -webkit-transition: all .35s;
      transition: all .........完整代码请登录后点击上方下载按钮下载查看

网友评论0