纯css打造的雪花飞舞效果
代码语言:html
所属分类:动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> Snow (Pure CSS)</title>
<style>
body {
height: 100vh;
background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
overflow: hidden;
filter: drop-shadow(0 0 10px white);
}
.snow {
position: absolute;
width: 10px;
height: 10px;
background: white;
border-radius: 50%;
}
.snow:nth-child(1) {
opacity: 0.4137;
transform: translate(94.4644vw, -10px) scale(0.1578);
animation: fall-1 24s -9s linear infinite;
}
@keyframes fall-1 {
78.684% {
transform: translate(89.9793vw, 78.684vh) scale(0.1578);
}
to {
transform: translate(92.22185vw, 100vh) scale(0.1578);
}
}
.snow:nth-child(2) {
opacity: 0.2583;
transform: translate(84.5397vw, -10px) scale(0.7857);
animation: fall-2 20s -1s linear infinite;
}
@keyframes fall-2 {
59.41% {
transform: translate(93.0741vw, 59.41vh) scale(0.7857);
}
to {
transform: translate(88.8069vw, 100vh) scale(0.7857);
}
}
.snow:nth-child(3) {
opacity: 0.1493;
transform: translate(83.9978vw, -10px) scale(0.2114);
animation: fall-3 19s -24s linear infinite;
}
@keyframes fall-3 {
41.314% {
transform: translate(87.5552vw, 41.314vh) scale(0.2114);
}
to {
transform: translate(85.7765vw, 100vh) scale(0.2114);
}
}
.snow:nth-child(4) {
opacity: 0.2159;
transform: translate(29.0617vw, -10px) scale(0.0953);
animation: fall-4 23s -2s linear infinite;
}
@keyframes fall-4 {
32.968% {
transform: translate(22.2153vw, 32.968vh) scale(0.0953);
}
to {
transform: translate(25.6385vw, 100vh) scale(0.0953);
}
}
.snow:nth-child(5) {
opacity: 0.3172;
transform: translate(32.1803vw, -10px) scale(0.0484);
animation: fall-5 26s -5s linear infinite;
}
@keyframes fall-5 {
67.459% {
transform: translate(30.3681vw, 67.459vh) scale(0.0484);
}
to {
transform: translate(31.2742vw, 100vh) scale(0.0484);
}
}
.snow:nth-child(6) {
opacity: 0.7535;
transform: translate(43.7952vw, -10px) scale(0.2822);
animation: fall-6 11s -23s linear infinite;
}
@keyframes fall-6 {
35.01% {
transform: translate(41.7162vw, 35.01vh) scale(0.2822);
}
to {
transform: translate(42.7557vw, 100vh) scale(0.2822);
}
}
.snow:nth-child(7) {
opacity: 0.5536;
transform: translate(93.8943vw, -10px) scale(0.4912);
animation: fall-7 21s -10s linear infinite;
}
@keyframes fall-7 {
74.13% {
transform: translate(99.721vw, 74.13vh) scale(0.4912);
}
to {
transform: translate(96.80765vw, 100vh) scale(0.4912);
}
}
.snow:nth-child(8) {
opacity: 0.338;
transform: translate(27.5159vw, -10px) scale(0.3641);
animation: fall-8 23s -2s linear infinite;
}
@keyframes fall-8 {
65.803% {
transform: translate(21.3413vw, 65.803vh) scale(0.3641);
}
to {
transform: translate(24.4286vw, 100vh) scale(0.3641);
}
}
.snow:nth-child(9) {
opacity: 0.7885;
transform: translate(63.5635vw, -10px) scale(0.4152);
animation: fall-9 10s -13s linear infinite;
}
@keyframes fall-9 {
62.4% {
transform: translate(69.4325vw, 62.4vh) scale(0.4152);
}
to {
transform: translate(66.498vw, 100vh) scale(0.4152);
}
}
.snow:nth-child(10) {
opacity: 0.241;
transform: translate(5.6847vw, -10px) scale(0.0013);
animation: fall-10 20s -28s linear infinite;
}
@keyframes fall-10 {
60.6% {
transform: translate(0.8942vw, 60.6vh) scale(0.0013);
}
to {
transform: translate(3.28945vw, 100vh) scale(0.0013);
}
}
.snow:nth-child(11) {
opacity: 0.9147;
transform: translate(70.4916vw, -10px) scale(0.3804);
animation: fall-11 26s -8s linear infinite;
}
@keyframes fall-11 {
76.116% {
transform: translate(76.4041vw, 76.116vh) scale(0.3804);
}
to {
transform: translate(73.44785vw, 100vh) scale(0.3804);
}
}
.snow:nth-child(12) {
opacity: 0.9954;
transform: translate(64.8149vw, -10px) scale(0.5621);
animation: fall-12 19s -17s linear infinite;
}
@keyframes fall-12 {
53.987% {
transform: translate(68.0073vw, 53.987vh) scale(0.5621);
}
to {
transform: translate(66.4111vw, 100vh) scale(0.5621);
}
}
.snow:nth-child(13) {
opacity: 0.8775;
transform: translate(70.8575vw, -10px) scale(0.4567);
animation: fall-13 26s -2s linear infinite;
}
@keyframes fall-13 {
70.635% {
transform: translate(62.758vw, 70.635vh) scale(0.4567);
}
to {
transform: translate(66.80775vw, 100vh) scale(0.4567);
}
}
.snow:nth-child(14) {
opacity: 0.9676;
transform: translate(52.444vw, -10px) scale(0.1021);
animation: fall-14 12s -25s linear infinite;
}
@keyframes fall-14 {
74.935% {
transform: translate(61.2353vw, 74.935vh) scale(0.1021);
}
to {
transform: translate(56.83965vw, 100vh) scale(0.1021);
}
}
.snow:nth-child(15) {
opacity: 0.8821;
transform: translate(94.2491vw, -10px) scale(0.7291);
animation: fall-15 28s -18s linear infinite;
}
@keyframes fall-15 {
70.269% {
transform: translate(96.4384vw, 70.269vh) scale(0.7291);
}
to {
transform: translate(95.34375vw, 100vh) scale(0.7291);
}
}
.snow:nth-child(16) {
opacity: 0.8899;
transform: translate(28.7291vw, -10px) scale(0.0625);
animation: fall-16 24s -24s linear infinite;
}
@keyframes fall-16 {
65.757% {
transform: translate(28.775vw, 65.757vh) scale(0.0625);
}
to {
transform: translate(28.75205vw, 100vh) scale(0.0625);
}
}
.snow:nth-child(17) {
opacity: 0.1068;
transform: translate(94.4959vw, -10px) scale(0.0561);
animation: fall-17 30s -1s linear infinite;
}
@keyframes fall-17 {
43.682% {
transform: translate(103.9638vw, 43.682vh) scale(0.0561);
}
to {
transform: translate(99.22985vw, 100vh) scale(0.0561);
}
}
.snow:nth-child(18) {
opacity: 0.4032;
transform: translate(76.1189vw, -10px) scale(0.6101);
animation: fall-18 18s -6s linear infinite;
}
@keyframes fall-18 {
34.09% {
transform: translate(74.8714vw, 34.09vh) scale(0.6101);
}
to {
transform: translate(75.49515vw, 100vh) scale(0.6101);
}
}
.snow:nth-child(19) {
opacity: 0.3023;
transform: translate(77.62vw, -10px) scale(0.7394);
animation: fall-19 19s -22s linear infinite;
}
@keyframes fall-19 {
73.705% {
transform: translate(77.2138vw, 73.705vh) scale(0.7394);
}
to {
transform: translate(77.4169vw, 100vh) scale(0.7394);
}
}
.snow:nth-child(20) {
opacity: 0.0797;
transform: translate(54.7279vw, -10px) scale(0.9396);
animation: fall-20 10s -1s linear infinite;
}
@keyframes fall-20 {
53.568% {
transform: translate(50.4032vw, 53.568vh) scale(0.9396);
}
to {
transform: translate(52.56555vw, 100vh) scale(0.9396);
}
}
.snow:nth-child(21) {
opacity: 0.962;
transform: translate(54.5737vw, -10px) scale(0.3775);
animation: fall-21 11s -4s linear infinite;
}
@keyframes fall-21 {
52.547% {
transform: translate(45.7078vw, 52.547vh) scale(0.3775);
}
to {
transform: translate(50.14075vw, 100vh) scale(0.3775);
}
}
.snow:nth-child(22) {
opacity: 0.2423;
transform: translate(1.6561vw, -10px) scale(0.1523);
animation: fall-22 17s -1s linear infinite;
}
@keyframes fall-22 {
51.108% {
transform: translate(-3.8372vw, 51.108vh) scale(0.1523);
}
to {
transform: translate(-1.09055vw, 100vh) scale(0.1523);
}
}
.snow:nth-child(23) {
opacity: 0.7103;
transform: translate(46.116vw, -10px) scale(0.1238);
animation: fall-23 18s -17s linear infinite;
}
@keyframes fall-23 {
74.333% {
transform: translate(46.8886vw, 74.333vh) scale(0.1238);
}
to {
transform: translate(46.5023vw, 100vh) scale(0.1238);
}
}
.snow:nth-child(24) {
opacity: 0.4446;
transform: translate(11.9251vw, -10px) scale(0.3791);
animation: fall-24 22s -25s linear infinite;
}
@keyframes fall-24 {
46.438% {
transform: translate(6.1326vw, 46.438vh) scale(0.3791);
}
to {
transform: translate(9.02885vw, 100vh) scale(0.3791);
}
}
.snow:nth-child(25) {
opacity: 0.8675;
transform: translate(63.1375vw, -10px) scale(0.0355);
animation: fall-25 11s -1s linear infinite;
}
@keyframes fall-25 {
47.135% {
transform: translate(55.3929vw, 47.135vh) scale(0.0355);
}
to {
transform: translate(59.2652vw, 100vh) scale(0.0355);
}
}
.snow:nth-child(26) {
opacity: 0.7317;
transform: translate(26.2526vw, -10px) scale(0.5823);
animation: fall-26 18s -17s linear infinite;
}
@keyframes fall-26 {
62.904% {
transform: translate(26.107vw, 62.904vh) scale(0.5823);
}
to {
transform: translate(26.1798vw, 100vh) scale(0.5823);
}
}
.snow:nth-child(27) {
opacity: 0.2899;
transform: translate(74.5515vw, -10px) scale(0.9626);
animation: fall-27 19s -26s linear infinite;
}
@keyframes fall-27 {
33.04% {
transform: translate(76.373vw, 33.04vh) scale(0.9626);
}
to {
transform: translate(75.46225vw, 100vh) scale(0.9626);
}
}
.snow:nth-child(28) {
opacity: 0.6201;
transform: translate(57.9264vw, -10px) scale(0.0916);
animation: fall-28 29s -8s linear infinite;
}
@keyframes fall-28 {
48.272% {
transform: translate(50.3757vw, 48.272vh) scale(0.0916);
}
to {
transform: translate(54.15105vw, 100vh) scale(0.0916);
}
}
.snow:nth-child(29) {
opacity: 0.6682;
transform: translate(11.4586vw, -10px) scale(0.8488);
animation: fall-29 27s -18s linear infinite;
}
@keyframes fall-29 {
42.409% {
transform: translate(5.3529vw, 42.409vh) scale(0.8488);
}
to {
transform: translate(8.40575vw, 100vh) scale(0.8488);
}
}
.snow:nth-child(30) {
opacity: 0.2633;
transform: translate(54.2958vw, -10px) scale(0.796);
animation: fall-30 11s -21s linear infinite;
}
@keyframes fall-30 {
32.57% {
transform: translate(46.8277vw, 32.57vh) scale(0.796);
}
to {
transform: translate(50.56175vw, 100vh) scale(0.796);
}
}
.snow:nth-child(31) {
opacity: 0.9727;
transform: translate(7.908vw, -10px) scale(0.1798);
animation: fall-31 26s -9s linear infinite;
}
@keyframes fall-31 {
69.169% {
transform: translate(-1.2011vw, 69.169vh) scale(0.1798);
}
to {
transform: translate(3.35345vw, 100vh) scale(0.1798);
}
}
.snow:nth-child(32) {
opacity: 0.7458;
transform: translate(90.9568vw, -10px) scale(0.8018);
animation: fall-32 23s -10s linear infinite;
}
@keyframes fall-32 {
61.763% {
transform: translate(90.5905vw, 61.763vh) scale(0.8018);
}
to {
transform: translate(90.77365vw, 100vh) scale(0.8018);
}
}
.snow:nth-child(33) {
opacity: 0.3613;
transform: translate(89.5061vw, -10px) scale(0.1675);
animation: fall-33 24s -27s linear infinite;
}
@keyframes fall-33 {
63.847% {
transform: translate(93.3836vw, 63.847vh) scale(0.1675);
}
to {
transform: translate(91.44485vw, 100vh) scale(0.1675);
}
}
.snow:nth-child(34) {
opacity: 0.572;
transform: translate(5.8874vw, -10px) scale(0.9025);
animation: fall-34 20s -9s linear infinite;
}
@keyframes fall-34 {
78.686% {
transform: translate(13.189vw, 78.686vh) scale(0.9025);
}
to {
transform: translate(9.5382vw, 100vh) scale(0.9025);
}
}
.snow:nth-child(35) {
opacity: 0.4092;
transform: translate(96.1431vw, -10px) scale(0.9845);
animation: fall-35 24s -12s linear infinite;
}
@keyframes fall-35 {
39.153% {
transform: translate(97.3591vw, 39.153vh) scale(0.9845);
}
to {
transform: translate(96.7511vw, 100vh) scale(0.9845);
}
}
.snow:nth-child(36) {
opacity: 0.6796;
transform: translate(54.3725vw, -10px) scale(0.58);
animation: fall-36 24s -24s linear infinite;
}
@keyframes fall-36 {
77.283% {
transform: translate(55.5146vw, 77.283vh) scale(0.58);
}
to {
transform: translate(54.94355vw, 100vh) scale(0.58);
}
}
.snow:nth-child(37) {
opacity: 0.565;
transform: translate(23.5644vw, -10px) scale(0.3907);
animation: fall-37 13s -4s linear infinite;
}
@keyframes fall-37 {
73.521% {
transform: translate(19.8636vw, 73.521vh) scale(0.3907);
}
to {
transform: translate(21.714vw, 100vh) scale(0.3907);
}
}
.snow:nth-child(38) {
opacity: 0.0637;
transform: translate(74.5704vw, -10px) scale(0.8519);
animation: fall-38 .........完整代码请登录后点击上方下载按钮下载查看
















网友评论0