纯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