css+div实现彩色碎纸屑粒子喷射动画效果代码
代码语言:html
所属分类:粒子
代码描述:css+div实现彩色碎纸屑粒子喷射动画效果代码
代码标签: css div 彩色 碎 纸屑 粒子 喷射 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { height: 100dvh; display: grid; place-items: center; overflow: hidden; background: #fdf5d4; } .container { position: relative; margin-bottom: 10dvh; width: 100px; height: 100px; } .confetti { --random: 0.5; --random-sine: calc((var(--random) - 0.5) * 2); position: absolute; top: 0; left: 50%; width: calc(60px + (var(--p) * 200px) + calc(var(--random) * 10%)); height: calc((var(--random) * 120px) + 170px); border-radius: 40% 90% 0 0; pointer-events: none; --color: calc(var(--random) * 1turn) 85% 60%; } .container:hover .confetti { border: solid 1px hsla(var(--color)/40%); border-bottom: none; border-left: none; } .confetti:nth-child(even) { transform: scale(-1, 1); left: auto; right: 50%; } .confetti::before { content: ""; display: block; width: 12px; height: 6px; background-color: hsl(var(--color)); animation: confetti 2s cubic-bezier(0.5, 0, 0.5, 1) both, confetti-opacity 2s cubic-bezier(0.5, 0, 0.5, 1) both; animation-duration: calc(1.4s + (var(--random) * 0.5s)); animation-delay: calc(0.6s * var(--random-sine)); animation-iteration-count: infinite; offset-path: padding-box; } @keyframes confetti-opacity { 0% { opacity: 0; } 20%, 40% { opacity: 1; } 95%, 100% { opacity: 0; } } @keyframes confetti { 0% { offset-distance: -10%; offset-rotate: 0turn; } 100% { offset-distance: 38%; offset-rotate: calc(4turn + var(--random) * 2turn); } } </style> </head> <body translate="no"> <div class="container"> <div class="confetti" style=&quo.........完整代码请登录后点击上方下载按钮下载查看
网友评论0