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