纯css实现动态背景的checkbox选择框

代码语言:html

所属分类:表单美化

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">

    <style>
        .plane-switch {
            --dot: #fff;
            --street: #6B6D76;
            --street-line: #A8AAB4;
            --street-line-mid: #C0C2C8;
            --sky-1: #60A7FA;
            --sky-2: #2F8EFC;
            --light-1: rgba(255, 233, 0, 1);
            --light-2: rgba(255, 233, 0, .3);
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
        .plane-switch input {
            display: none;
        }
        .plane-switch input + div {
            -webkit-mask-image: -webkit-radial-gradient(white, black);
            position: relative;
            overflow: hidden;
            width: 50px;
            height: 25px;
            padding: 1px;
            border-radius: 13px;
            background: linear-gradient(90deg, var(--street) 0%, var(--street) 25%, var(--sky-1) 75%, var(--sky-2) 100%) left var(--p, 0%) top 0;
            background-position-x: var(--p,0%);
            background-size: 400% auto;
            transition: background-position .6s;
        }
        .plane-switch input + div:before, .plane-switch input + div:after {
            content: '';
            display: block;
            position: absolute;
            -webkit-transform: translateX(var(--s,0));
            transform: translateX(var(--s,0));
            transition: -webkit-transform .3s;
            transition: transform .3s;
            transition: transform .3s, -webkit-transform .3s;
        }
        .plane-switch input + div:before {
            width: 42px;
            right: 2px;
            top: 4px;
            height: 1px;
            background: var(--street-line);
            box-shadow: 0 16px 0 0 var(--street-line);
        }
        .plane-switch input + div:after {
            width: 2px;
            height: 2px;
            border-radius: 50%;
            left: 23px;
            top: 1px;
            -webkit-animation: lights 2s linear infinite;
            animation: lights 2s linear infinite;
            box-shadow: inset 0 0 0 2px var(--light-1), 0 21px 0 var(--light-1), 8px 0 0 var(--light-2), 8px 21px 0 var(--light-2), 16px 0 0 var(--light-2), 16px 21px 0 var(--light-2);
        }
        .plane-switch input + div span {
            display: block;
            position: absolute;
        }
        .plane-switch input + div span.street-middle {
            top: 12px;
            lef.........完整代码请登录后点击上方下载按钮下载查看

网友评论0