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__item:nth-child(10) { top: calc(0.9637571565 * 150% + var(--top-position)); left: calc(0.3346799927 * 100%); transform: scale(max(4.2713811846, 2)) rotate(69.5041067906deg); } .confetti__item:nth-child(11) { top: calc(0.4655966453 * 150% + var(--top-position)); left: calc(0.700736173 * 100%); transform: scale(max(4.5262665393, 2)) rotate(26.1416579164deg); } .confetti__item:nth-child(12) { top: calc(0.947117155 * 150% + var(--top-position)); left: calc(0.6037146156 * 100%); transform: scale(max(4.3112407352, 2)) rotate(35.9030427115deg); } .confetti__item:nth-child(13) { top: calc(0.7392164231 * 150% + var(--top-position)); left: calc(0.1492563051 * 100%); transform: scale(max(3.0969220529, 2)) rotate(87.7780500506deg); } .confetti__item:nth-child(14) { top: calc(0.5781295169 * 150% + var(--top-position)); left: calc(0.9725232148 * 100%); transform: scale(max(3.8126693288, 2)) rotate(15.1612944526deg); } .confetti__item:nth-child(15) { top: calc(0.5859975874 * 150% + var(--top-position)); left: calc(0.863297893 * 100%); transform: scale(max(1.381214889, 2)) rotate(15.2841355991deg); } .confetti__item:nth-child(16) { top: calc(0.8598121212 * 150% + var(--top-position)); left: calc(0.264588188 * 100%); transform: scale(max(2.1064166698, 2)) rotate(51.0874527827deg); } .confetti__item:nth-child(17) { top: calc(0.7894518232 * 150% + var(--top-position)); left: calc(0.9213129994 * 100%); transform: scale(max(2.4458422441, 2)) rotate(3.4857196706deg); } .confetti__item:nth-child(18) { top: calc(0.4516904841 * 150% + var(--top-position)); left: calc(0.2997635756 * 100%); transform: scale(max(2.0458056583, 2)) rotate(82.4356964334deg); } .confetti__item:nth-child(19) { top: calc(0.177866577 * 150% + var(--top-position)); left: calc(0.7840049184 * 100%); transform: scale(max(1.9121012205, 2)) rotate(88.3402954171deg); } .confetti__item:nth-child(20) { top: calc(0.1773520969 * 150% + var(--top-position)); left: calc(0.4421949873 * 100%); transform: scale(max(0.0185867321, 2)) rotate(10.738518134deg); } .confetti__item:nth-child(21) { top: calc(0.764347628 * 150% + var(--top-position)); left: calc(0.5754837932 * 100%); transform: scale(max(1.1855747837, 2)) rotate(75.4968288742deg); } .confetti__item:nth-child(22) { top: calc(0.4035664244 * 150% + var(--top-position)); left: calc(0.1653152999 * 100%); transform: scale(max(1.8980378941, 2)) rotate(76.4210976806deg); } .confetti__item:nth-child(23) { top: calc(0.9834270728 * 150% + var(--top-position)); left: calc(0.3475365805 * 100%); transform: scale(max(3.7179995268, 2)) rotate(37.9903315009deg); } .confetti__item:nth-child(24) { top: calc(0.1877533237 * 150% + var(--top-position)); left: calc(0.7196316117 * 100%); transform: scale(max(3.3752746251, 2)) rotate(57.1472923902deg); } .confetti__item:nth-child(25) { top: calc(0.565366686 * 150% + var(--top-position)); left: calc(0.081553975 * 100%); transform: scale(max(1.7267285944, 2)) rotate(73.0346365129deg); } .confetti__item:nth-child(26) { top: calc(0.1648152412 * 150% + var(--top-position)); left: calc(0.4462902512 * 100%); transform: scale(max(4.4055662907, 2)) rotate(78.38630642deg); } .confetti__item:nth-child(27) { top: calc(0.0483208545 * 150% + var(--top-position)); left: calc(0.7202652338 * 100%); transform: scale(max(4.5406665566, 2)) rotate(87.1939658048deg); } .confetti__item:nth-child(28) { top: calc(0.7854306976 * 150% + var(--top-position)); left: calc(0.4532644498 * 100%); transform: scale(max(0.5310652548, 2)) rotate(48.9873278508deg); } .confetti__item:nth-child(29) { top: calc(0.4010696648 * 150% + var(--top-position)); left: calc(0.1980555691 * 100%); transform: scale(max(1.8288731802, 2)) rotate(32.557899728deg); } .confetti__item:nth-child(30) { top: calc(0.5764537119 * 150% + var(--top-position)); left: calc(0.4943771444 * 100%); transform: scale(max(3.4305073384, 2)) rotate(39.908455192deg); } .confetti__item:nth-child(31) {.........完整代码请登录后点击上方下载按钮下载查看
网友评论0