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