js+css实现新年快乐下雪动画效果代码
代码语言:html
所属分类:动画
代码描述:js+css实现新年快乐下雪动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
:root {
--black: #130f33;
--white: #fff;
}
body {
font-family: Recursive, sans-serif;
background-color: var(--black);
width: 100%;
height: 100%;
color: var(--white);
overflow: hidden;
}
header {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
main {
padding: 1rem;
}
h1 {
font-size: 4rem;
display: grid;
grid-template-columns: auto;
grid-auto-flow: column;
margin: 0 auto;
}
h1 span {
--time-delay: calc(var(--delay));
font-variation-settings: "wght" 300;
letter-spacing: 0.2rem;
font-size: 9vw;
margin-right: var(--offset, 0);
animation: bounce 1s cubic-bezier(0.5, 0, 0.5, 1) calc(var(--time-delay)) both;
}
@keyframes bounce {
from {
transform: translate3d(0, 100px, 0);
font-variation-settings: "wght" 500, "CASL" 0;
}
to {
transform: translate3d(0, 0, 0);
font-variation-settings: "wght" 900, "CASL" 1;
font-size: 10vw;
}
}
[class|=confetti] {
position: absolute;
}
.confetti-0 {
width: 7px;
height: 2.8px;
background-color: #ffbf00;
top: -10%;
left: 28%;
opacity: 1.4775406073;
transform: rotate(260.5718354958deg);
animation: drop-0 5.1512586352s 0.2482187303s infinite;
}
@keyframes drop-0 {
100% {
top: 110%;
left: 35%;
}
}
.confetti-1 {
width: 2px;
height: 0.8px;
background-color: #794fc6;
top: -10%;
left: 96%;
opacity: 0.9326683726;
transform: rotate(153.4154343694deg);
animation: drop-1 5.937101951s 0.9730380158s infinite;
}
@keyframes drop-1 {
100% {
top: 110%;
left: 110%;
}
}
.confetti-2 {
width: 4px;
height: 1.6px;
background-color: #794fc6;
top: -10%;
left: 80%;
opacity: 1.4102177695;
transform: rotate(61.899650115deg);
animation: drop-2 5.8895720424s 0.8598196598s infinite;
}
@keyframes drop-2 {
100% {
top: 110%;
left: 93%;
}
}
.confetti-3 {
width: 2px;
height: 0.8px;
background-color: #794fc6;
top: -10%;
left: 99%;
opacity: 0.9424893482;
transform: rotate(345.909025647deg);
animation: drop-3 5.3090225214s 0.3515310153s infinite;
}
@keyframes drop-3 {
100% {
top: 110%;
left: 103%;
}
}
.confetti-4 {
width: 5px;
height: 2px;
background-color: #794fc6;
top: -10%;
left: 90%;
opacity: 1.153061415;
transform: rotate(244.6492595592deg);
animation: drop-4 5.7022641567s 0.7673266951s infinite;
}
@keyframes drop-4 {
100% {
top: 110%;
left: 92%;
}
}
.confetti-5 {
width: 8px;
height: 3.2px;
background-color: #794fc6;
top: -10%;
left: 79%;
opacity: 1.3943276298;
transform: rotate(47.3179061904deg);
animation: drop-5 5.1688231148s 0.6559997413s infinite;
}
@keyframes drop-5 {
100% {
top: 110%;
left: 90%;
}
}
.confetti-6 {
width: 1px;
height: 0.4px;
background-color: #794fc6;
top: -10%;
left: 57%;
opacity: 0.5482394736;
transform: rotate(217.136679352deg);
animation: drop-6 5.7432507465s 0.4603366041s infinite;
}
@keyframes drop-6 {
100% {
top: 110%;
left: 64%;
}
}
.confetti-7 {
width: 3px;
height: 1.2px;
background-color: #0874d0;
top: -10%;
left: 55%;
opacity: 1.3925949532;
transform: rotate(268.2342955338deg);
animation: drop-7 5.6732549623s 0.8602764378s infinite;
}
@keyframes drop-7 {
100% {
top: 110%;
left: 63%;
}
}
.confetti-8 {
width: 8px;
height: 3.2px;
background-color: #ffbf00;
top: -10%;
left: 51%;
opacity: 1.0504001241;
transform: rotate(321.0597721269deg);
animation: drop-8 5.8340464519s 0.478172099s infinite;
}
@keyframes drop-8 {
100% {
top: 110%;
left: 60%;
}
}
.confetti-9 {
width: 2px;
height: 0.8px;
background-color: #0874d0;
top: -10%;
left: 56%;
opacity: 0.7370001025;
transform: rotate(13.4363734651deg);
animation: drop-9 5.0897803474s 0.2041739427s infinite;
}
@keyframes drop-9 {
100% {
top: 110%;
left: 60%;
}
}
.confetti-10 {
width: 1px;
height: 0.4px;
background-color: #ffbf00;
top: -10%;
left: 98%;
opacity: 1.410137216;
transform: rotate(195.8687205827deg);
animation: drop-10 5.2603956615s 0.3356855642s infinite;
}
@keyframes drop-10 {
100% {
top: 110%;
left: 105%;
}
}
.confetti-11 {
width: 8px;
height: 3.2px;
background-color: #794fc6;
top: -10%;
left: 85%;
opacity: 1.4531701629;
transform: rotate(304.8844994347deg);
animation: drop-11 5.2750863333s 0.2727023193s infinite;
}
@keyframes drop-11 {
100% {
top: 110%;
left: 95%;
}
}
.confetti-12 {
width: 1px;
height: 0.4px;
background-color: #ffbf00;
top: -10%;
left: 26%;
opacity: 1.2547276884;
transform: rotate(81.7916936123deg);
animation: drop-12 5.4793087848s 0.5038932266s infinite;
}
@keyframes drop-12 {
100% {
top: 110%;
left: 31%;
}
}
.confetti-13 {
width: 6px;
height: 2.4px;
background-color: #ffbf00;
top: -10%;
left: 55%;
opacity: 0.8782015326;
transform: rotate(13.9072667535deg);
animation: drop-13 5.9885085319s 0.2081339069s infinite;
}
@keyframes drop-13 {
100% {
top: 110%;
left: 68%;
}
}
.confetti-14 {
width: 1px;
height: 0.4px;
background-color: #0874d0;
top: -10%;
left: 83%;
opacity: 0.592418216;
transform: rotate(348.2561296561deg);
animation: drop-14 5.7051747239s 0.8487629417s infinite;
}
@keyframes drop-14 {
100% {
top: 110%;
left: 88%;
}
}
.confetti-15 {
width: 5px;
height: 2px;
background-color: #794fc6;
top: -10%;
left: 38%;
opacity: 0.5887445967;
transform: rotate(173.4417925847deg);
animation: drop-15 5.9175780448s 0.5968692347s infinite;
}
@keyframes drop-15 {
100% {
top: 110%;
left: 53%;
}
}
.confetti-16 {
width: 6px;
height: 2.4px;
background-color: #794fc6;
top: -10%;
left: 32%;
opacity: 1.4099915332;
transform: rotate(27.807432646deg);
animation: drop-16 5.6768950627s 0.785110648s infinite;
}
@keyframes drop-16 {
100% {
top: 110%;
left: 37%;
}
}
.confetti-17 {
width: 4px;
height: 1.6px;
background-color: #0874d0;
top: -10%;
left: 2%;
opacity: 0.8109148823;
transform: rotate(266.0480008209deg);
animation: drop-17 5.8784245338s 0.7678621529s infinite;
}
@keyframes drop-17 {
100% {
top: 110%;
left: 16%;
}
}
.confetti-18 {
width: 1px;
height: 0.4px;
background-color: #0874d0;
top: -10%;
left: 45%;
opacity: 1.3297441611;
transform: rotate(275.7619142136deg);
animation: drop-18 5.0057907184s 0.7557998915s infinite;
}
@keyframes drop-18 {
100% {
top: 110%;
left: 53%;
}
}
.confetti-19 {
width: 7px;
height: 2.8px;
background-color: #0874d0;
top: -10%;
left: 14%;
opacity: 1.3168628669;
transform: rotate(56.8153206504deg);
animation: drop-19 5.2646258747s 0.7784428208s infinite;
}
@keyframes drop-19 {
100% {
top: 110%;
left: 21%;
}
}
.confetti-20 {
width: 1px;
height: 0.4px;
background-color: #ffbf00;
top: -10%;
left: 30%;
opacity: 1.2869401286;
transform: rotate(291.8737092618deg);
animation: drop-20 5.4644002244s 0.2819248369s infinite;
}
@keyframes drop-20 {
100% {
top: 110%;
left: 32%;
}
}
.confetti-21 {
width: 3px;
height: 1.2px;
background-color: #0874d0;
top: -10%;
left: 13%;
opacity: 0.6416596868;
transform: rotate(195.0317244473deg);
animation: drop-21 5.4811045663s 0.0786062876s infinite;
}
@keyframes drop-21 {
100% {
top: 110%;
left: 24%;
}
}
.confetti-22 {
width: 6px;
height: 2.4px;
background-color: #ffbf00;
top: -10%;
left: 56%;
opacity: 1.3540420311;
transform: rotate(151.1799344602deg);
animation: drop-22 5.2481573292s 0.3939398755s infinite;
}
@keyframes drop-22 {
100% {
top: 110%;
left: 58%;
}
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0