前端学习首页投稿(暂停使用,暂停投稿)Web 前端开发

CSS3 复选框动画特效

2016-09-12  本文已影响535人  ghwaphon

这篇文章中所讲解到的内容和上一篇内容类似,所以在这里不再对具体细节进行详细介绍,不了解的地方可以参照 CSS3 单选框动画特效 , 下面我们将直接展示动画效果并给上代码。

Action one

demo1.gif
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CheckBox</title>
    <style>
        .checkbox {
            width: 900px;
            padding: 3% 0%;
            margin: 50px auto;
            background-color: cornsilk;
            text-align: center;
        }

        .checkbox label {
            display: inline-block;
            width: 64px;
            height: 32px;
            margin-right: 10px;
            background-color: #ffffff;
            border: 1px solid #eeeeee;
            border-radius: 17px;
            cursor: pointer;
            position: relative;
            transition: background-color .2s ease-in;
        }

        .checkbox label:after {
            content: "";
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background-color: #eeeeee;
            position: absolute;
            left: 1px;
            top: 1px;
            transform: translateX(0px);
            transition: transform .2s ease-in;
        }

        .checkbox [type="checkbox"]:checked + label {
            background-color: khaki;
            transition: background-color .2s ease-in;
        }

        .checkbox [type="checkbox"]:checked +label:after{
            transform: translateX(30px);
            transition: transform .2s ease-in;
        }

        .checkbox [type="checkbox"]{
            display: none;
        }
    </style>
</head>
<body>
<div class="checkbox">
    <input type="checkbox" id="checkbox-1">
    <label for="checkbox-1"></label>

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

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

</body>
</html>

Action two

demo2.gif
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .checkbox {
            width: 900px;
            padding: 3% 0px;
            margin: 50px auto;
            background-color: cornsilk;
            text-align: center;
        }

        .checkbox label {
            position: relative;
            display: inline-block;
            width: 30px;
            height: 30px;
            margin-right: 10px;
            overflow: hidden;
            border: 1px solid #eeeeee;
            background-color: #ffffff;
            cursor: pointer;
        }

        .checkbox label:after {
            content: "√";
            position: absolute;
            width: 28px;
            height: 28px;
            line-height: 26px;
            background-color: khaki;
            color: #ffffff;
            left: 1px;
            top: 1px;
            text-align: center;
            transform: translateY(-30px);
            transition: transform .2s ease-out;
            border-radius: 4px;
        }

        .checkbox [type="checkbox"]:checked + label:after {
            transform: translateY(0px);
            transition: transform .2s ease-in;
        }
        .checkbox [type="checkbox"]{
            display: none;
        }
    </style>
</head>
<body>
<div class="checkbox">
    <input type="checkbox" id="checkbox-1" checked="checked">
    <label for="checkbox-1"></label>

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

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

</body>
</html>

以上代码理解起来并不难,如果你认真阅读了我前几篇文章的话,如果你还没看到,建议你前去查看。如果你没时间查看,可以将不理解的地方留言在下方,我会及时给予回复。

上一篇 下一篇

猜你喜欢

热点阅读