jquery打造游戏人生效果

代码语言:html

所属分类:动画

代码描述:jquery打造游戏人生效果

代码标签: 人生 效果

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

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

    <style>
        body {
            display: -webkit-box;
            display: flex;
            -webkit-box-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            align-items: center;
            height: 100vh;
            width: 100vw;
            background: #efefef;
            overflow: hidden;
        }
        body:before {
            content: 'drag your cursor to generate more cells';
            position: absolute;
            font-family: 'Futura', sans-serif;
            width: 100%;
            bottom: 20px;
            text-align: center;
        }
        body #wrapper {
            width: 600px;
            min-width: 600px;
            min-height: 600px;
            height: 600px;
            position: relative;
            background: #000;
            border-radius: 100%;
            display: grid;
            grid-template-columns: repeat(20, 1fr);
            grid-template-rows: repeat(20, 1fr);
            grid-column-gap: 0px;
            grid-row-gap: 0px;
            cursor: pointer;
        }
        body #wrapper .row .cell {
            width: 30px;
            height: 30px;
            position: relative;
        }
        body #wrapper .row .cell:before {
            content: '';
            position: absolute;
            width: 150%;
            height: 150%;
            left: -25%;
            top: -25%;
            background: var(--color);
            -webkit-transform: scale(0) rotate(0deg);
            transform: scale(0) rotate(0deg);
            -webkit-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out;
            border-radius: var(--border-radius);
            z-index: 2;
        }
        body #wrapper .row .cell:after {
            content: '';
            position: absolute;
            width: 400%;
            height: 400%;
            left: -125%;
            top: -125%;
            background: linear-gradient(45deg, transparent calc(50% - 1px), var(--color) calc(50% - 1px), var(--color) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), var(--color) calc(50% - 1px), var(--color) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(90deg, transparent calc(50% - 1px), var(--color) calc(50% - 1px), var(--color) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(0deg, transparent calc(50% - 1px), var(--color) calc(50% - 1px), var(--color) calc(50% + 1px), transparent calc(50% + 1px));
            -webkit-mask: radial-gradient(circle at center, transparent 20%, #000 20%, #000 22.5%, transparent 22.5%) 50% 50%/100% 100%;
            mask: radial-gradient(circle at center, transparent 20%, #000 20%, #000 22.5%, transparent 22.5%) 50% 50%/100% 100%;
            -webkit-transition: -webkit-mask0.3s ease-in-out, -webkit-transform 0s ease-in-out;
            transition: -webkit-mask0.3s ease-in-out, -webkit-transform 0s ease-in-out;
            transition: mask0.3s ease-in-out, transform 0s ease-in-out;
            transition: mask0.3s ease-in-out, transform 0s ease-in-out, -webkit-mask 0.3s ease-in-out, -webkit-transform 0s ease-in-out;
            z-index: 1;
            border-radius: 100%;
            -webkit-transform: scale(0);
            transform: scale(0);
        }
        body #wrapper .row .cell.alive:before {
            -webkit-transform: scale(1) rotate(var(--rotate));
            transform: scale(1) rotate(var(--rotate));
            -webkit-transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0s;
            transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0s;
        }
        body #wrapper .row .cell.alive:after {
            -webkit-mask: radial-gradient(circle at center, transparent 20%, #000 20%, #000 22.5%, transparent 22.5%) 50% 50%/500% 500%;
            mask: radial-gradient(circle at center, transparent 20%, #000 20%, #000 22.5%, transparent 22.5%) 50% 50%/500% 500%;
            -webkit-transform: scale(1);
            transform: scale(1);
        }
        body #wrapper .row .cell.alive.cell1:before, body #wrapper .row .cell.alive.cell1:after {
            -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
        }
        body #wrapper .row .cell.alive.cell2:before, body #wrapper .row .cell.alive.cell2:after {
            -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
        }
        body #wrapper .row .cell.alive.cell3:before, body #wrapper .row .cell.alive.cell3:after {
            -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
        }
        body #wrapper .row .cell.alive.cell4:before, body #wrapper .row .cell.alive.cell4:after {
            -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
        }
        body #wrapper .row .cell.alive.cell5:before, body #wrapper .row .cell.alive.cell5:after {
            -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
        }
        body #wrapper .row .cell.alive.cell1:before, body #wrapper .row .cell.alive.cell1:aftere {
            -webkit-transform: scale(0.75) rotate(var(--rotate));
            transform: scale(0.75) rotate(var(--rotate));
        }
        body #wrapper .row .cell.alive.cell2:before, body #wrapper .row .cell.alive.cell2:after {
            -webkit-transform: scale(1.25) rotate(var(--rotate));
            transform: scale(1.25) rotate(var(--rotate));
        }
        body #wrapper .row .cell.alive.cell3:before {
            -webkit-transform: scale(1) rotate(var(--rotate));
            transform: scale(1) rotate(var(--rotate));
            background: -webkit-gradient(linear, left top, right top, color-stop(50%, var(--color)), color-stop(50%, var(--color2)));
            background: linear-gradient(toright, var(--color) 50%, var(--color2) 50%);
        }
        body #wrapper .row .cell.alive.cell4:before, body #wrapper .row .cell.alive.cell4:after {
            -webkit-transform: scale(0.5) rotate(var(--rotate));
            transform: scale(0.5) rotate(var(--rotate));
        }
        body #wrapper .row .cell.alive.cell5:before, body #wrapper .row .cell.alive.cell5:after {
            -webkit-transform: scale(0.35) rotate(var(--rotate));
            transform: scale(0.35) rotate(var(--rotate));
        }
    </style>

</head>
<body translate="no">
    <div id='wrapper'>
        <div class='row'>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>
            <div class='cell alive' data-state='alive'></div>.........完整代码请登录后点击上方下载按钮下载查看

网友评论0