码迷,mamicode.com
首页 > Web开发 > 详细

CSS3复选框动画

时间:2018-02-02 00:43:07      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:label   margin   back   hidden   input   复选框   line   inpu   示例   

本示例实现了两种单选按钮动画效果,一种是移动,一种是滑块,以下是html布局以及css样式

html:这里使用了label标签的for属性,以此来绑定radio

<div class="checkbox-1">
    <input type="checkbox" name="checkbox-1" id="checkbox-1-1" checked="checked">
    <label for="checkbox-1-1"></label>

    <input type="checkbox" name="checkbox-1" id="checkbox-1-2">
    <label for="checkbox-1-2"></label>

    <input type="checkbox" name="checkbox-1" id="checkbox-1-3">
    <label for="checkbox-1-3"></label>
</div>
<div class="checkbox-2">
    <input type="checkbox" name="checkbox-2" id="checkbox-2-1" checked="checked">
    <label for="checkbox-2-1"></label>

    <input type="checkbox" name="checkbox-2" id="checkbox-2-2">
    <label for="checkbox-2-2"></label>

    <input type="checkbox" name="checkbox-2" id="checkbox-2-3">
    <label for="checkbox-2-3"></label>
</div>

css

<style type="text/css">
    .checkbox-1{
        width: 980px;
        margin: 0 auto;
        text-align: center;
        padding: 3% 0;
        background-color: #99cccc;
    }
    .checkbox-1 label{
        display: inline-block;
        width: 10px;
        height: 10px;
        padding: 9px;
        border: 1px #cccccc solid;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        background-color: #ffffff;
        color: #333;
        margin-right: 10px;
        overflow: hidden;
        position: relative;
        cursor: pointer;
    }
    .checkbox-1 [type="checkbox"]{
        display: none;
    }
    .checkbox-1 label:after{
        content: ‘X‘;
        font-family: Arial;
        color: #ffffff;
        background-color: #399;
        position: absolute;
        top: 1px;
        left: 1px;
        width: 26px;
        height: 26px;
        line-height: 26px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        text-align: center;
        -webkit-transform: translateY(-30px);
        -moz-transform: translateY(-30px);
        -ms-transform: translateY(-30px);
        -o-transform: translateY(-30px);
        transform: translateY(-30px);
        -webkit-transition: -webkit-transform .2s ease-in;
        -moz-transition: -moz-transform .2s ease-in;
        -ms-transition: -ms-transform .2s ease-in;
        -o-transition: -o-transform .2s ease-in;
        transition: transform .2s ease-in;
    }
    .checkbox-1 [type="checkbox"]:checked + label:after{
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        -webkit-transition: -webkit-transform .2s ease-in;
        -moz-transition: -moz-transform .2s ease-in;
        -ms-transition: -ms-transform .2s ease-in;
        -o-transition: -o-transform .2s ease-in;
        transition: transform .2s ease-in;
    }

    .checkbox-2{
        width: 980px;
        margin: 0 auto;
        text-align: center;
        padding: 3% 0;
        background-color: #99cccc;
    }
    .checkbox-2 label{
        display: inline-block;
        width: 68px;
        height: 34px;
        border: 1px #cccccc solid;
        -webkit-border-radius: 18px;
        -moz-border-radius: 18px;
        border-radius: 18px;
        background-color: #ffffff;
        margin-right: 10px;
        position: relative;
        cursor: pointer;
        -webkit-transition: background-color .2s ease-in;
        -moz-transition: background-color .2s ease-in;
        -ms-transition: background-color .2s ease-in;
        -o-transition: background-color .2s ease-in;
        transition: background-color .2s ease-in;
    }
    .checkbox-2 [type="checkbox"]{
        display: none;
    }
    .checkbox-2 label:after{
        content: ‘‘;
        position: absolute;
        left: 1px;
        top: 1px;
        width: 30px;
        height: 30px;
        border: 1px #e0e0e0 solid;
        background-color: #ffffff;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%;
        -webkit-transition: left .2s ease-in;
        -moz-transition: left .2s ease-in;
        -ms-transition: left .2s ease-in;
        -o-transition: left .2s ease-in;
        transition: left .2s ease-in;
    }
    .checkbox-2 [type="checkbox"]:checked + label{
        background-color: #33cc66;
        -webkit-transition: background-color .2s ease-in;
        -moz-transition: background-color .2s ease-in;
        -ms-transition: background-color .2s ease-in;
        -o-transition: background-color .2s ease-in;
        transition: background-color .2s ease-in;
    }
    .checkbox-2 [type="checkbox"]:checked + label:after{
        left: 35px;
        -webkit-transition: left .2s ease-in;
        -moz-transition: left .2s ease-in;
        -ms-transition: left .2s ease-in;
        -o-transition: left .2s ease-in;
        transition: left .2s ease-in;
    }
</style>

 

CSS3复选框动画

标签:label   margin   back   hidden   input   复选框   line   inpu   示例   

原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8401710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!