svg+js实现刮刮卡刮开开奖效果代码
代码语言:html
所属分类:其他
代码描述:svg+js实现刮刮卡刮开开奖效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap");
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background: linear-gradient(#fff -100%, #888);
font-family: "Arial Black", "Archivo Black", sans-serif;
overflow: hidden;
cursor: none;
}
.scratch-win {
position: relative;
padding: 1rem 2rem 2rem 2rem;
background: linear-gradient(#78d6c6 -150%, #12486b);
border: 0.2rem solid #ffdc73;
border-radius: 1rem;
overflow: hidden;
box-shadow: 0.2rem 0.2rem 1rem 0 rgba(0, 0, 56, 0.3);
}
@media screen and (max-width: 500px) {
.scratch-win {
padding-left: 0;
padding-right: 0;
}
.scratch-win__coin {
transform: scale(0.8);
}
}
.scratch-win:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(-70deg, transparent, transparent 50%, rgba(255, 255, 255, 0.1) 57%, transparent 60%);
background-size: 300% 100%;
animation: shinning;
animation-duration: 6s;
animation-iteration-count: infinite;
pointer-events: none;
}
@keyframes shinning {
from {
background-position: 0 0;
}
to {
background-position: 100% 0;
}
}
.scratch-win__title {
width: 100%;
margin: 0 auto 1rem;
color: #ffdc73;
font-size: 2rem;
text-align: center;
text-transform: uppercase;
background: -webkit-linear-gradient(#ffdc73, #a67c00);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.scratch-win__scratcher {
position: relative;
width: 20rem;
height: 10rem;
}
.scratch-win__background, .scratch-win__foreground {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.scratch-win__background {
display: flex;
justify-content: center;
align-items: center;
color: #888;
background-color: #fff;
text-transform: uppercase;
font-size: 3.6rem;
}
.scratch-win__background:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(transparent, transparent 0.5rem, #888 0.5rem, #888 0.6rem);
opacity: 0.5;
}
.scratch-win__coin {
position: absolute;
z-index: 2;
top: calc(var(--top) - 5rem);
left: calc(var(--left) - 3rem);
width: 6rem;
height: 6rem;
pointer-events: none;
}
.scratch-win__coin-side {
position: absolute;
top: -0.4rem;
left: 0;
z-index: -1;
width: calc(100% + 0.6rem);
height: calc(100% + 0.6rem);
border-radius: 50%;
outline: 0.1rem solid #a67c00;
background: repeating-linear-gradient(90deg, #d4af37 0, #d4af37 0.5rem, #ffdc73 0.5rem, #ffdc73 0.7rem);
box-shadow: 0 1rem 1rem -0.5rem rgba(0, 0, 56, 0.5);
}
@supports (-webkit-hyphens: none) {
.scratch-win__coin-side {
outline: none;
}
}
.scratch-win__coin-base {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0.3rem dashed #d4af37;
outline: 0.1rem solid #a67c00;
border-radius: 50%;
background: radial-gradient(circle at 0 0, #ffdc73, #d4af37 150%);
box-shadow: inset 0 -0.1rem 0 0 #a67c00;
}
@supports (-webkit-hyphens: none) {
.scratch-win__coin-base {
outline: none;
}
}
.scratch-win__coin-base:before, .scratch-win__coin-base:after {
content: "€";
position: absolute;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
font-size: 4rem;
}
.scratch-win__coin-base:before {
color: #a67c00;
transform: rotate(45deg) translateX(-0.4rem) translateY(-0.25rem);
}
.scratch-win__coin-base:after {
color: #d4af37;
transform: rotate(45deg) translateX(-0.3rem) translateY(-0.2rem);
background: -webkit-linear-gradient(#ffdc73 -50%, #d4af37);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.confetti {
position: absolute;
top: 0;
left: 0;
z-index: 3;
width: 100%;
height: 200%;
pointer-events: none;
--top-position: -300vh;
}
.confetti__item {
position: absolute;
box-shadow: 1rem 1rem 1rem 0 rgba(0, 0, 56, 0.5);
}
.confetti__item:nth-child(1) {
top: calc(0.4114539596 * 150% + var(--top-position));
left: calc(0.7400943158 * 100%);
transform: scale(max(4.1799926808, 2)) rotate(64.8418324212deg);
}
.confetti__item:nth-child(2) {
top: calc(0.888408001 * 150% + var(--top-position));
left: calc(0.6774079553 * 100%);
transform: scale(max(4.0196940391, 2)) rotate(26.8728179646deg);
}
.confetti__item:nth-child(3) {
top: calc(0.0682460432 * 150% + var(--top-position));
left: calc(0.3122977004 * 100%);
transform: scale(max(2.2570223664, 2)) rotate(41.417988051deg);
}
.confetti__item:nth-child(4) {
top: calc(0.8234272568 * 150% + var(--top-position));
left: calc(0.1280570143 * 100%);
transform: scale(max(0.2140426471, 2)) rotate(48.1123456086deg);
}
.confetti__item:nth-child(5) {
top: calc(0.3823604915 * 150% + var(--top-position));
left: calc(0.8681486002 * 100%);
transform: scale(max(1.6585784667, 2)) rotate(47.9074883173deg);
}
.confetti__item:nth-child(6) {
top: calc(0.3103658294 * 150% + var(--top-position));
left: calc(0.5658989961 * 100%);
transform: scale(max(4.581095104, 2)) rotate(4.440938451deg);
}
.confetti__item:nth-child(7) {
top: calc(0.2870089288 * 150% + var(--top-position));
left: calc(0.7838554618 * 100%);
transform: scale(max(4.4963690077, 2)) rotate(15.6622231873deg);
}
.confetti__item:nth-child(8) {
top: calc(0.0845872813 * 150% + var(--top-position));
left: calc(0.4534077455 * 100%);
transform: scale(max(3.0381822452, 2)) rotate(42.8676394097deg);
}
.confetti__item:nth-child(9) {
top: calc(0.8564763809 * 150% + var(--top-position));
left: calc(0.9132466429 * 100%);
transform: scale(max(2.0057990128, 2)) rotate(52.228114585deg);
}
.confetti__.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0