纯css实现水波旋转效果
代码语言:html
所属分类:动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Only CSS: Infinite Wave 🏄</title> <style> body { background: #000; height: 100vh; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .human { position: absolute; top: calc(50% - 250px); left: calc(50% - 1em); font-size: 3rem; } .human_shake.o-x { -webkit-animation: 2500ms shakeX ease-in-out infinite alternate; animation: 2500ms shakeX ease-in-out infinite alternate; } .human_shake.o-y { -webkit-animation: 1000ms shakeY ease-in-out infinite alternate; animation: 1000ms shakeY ease-in-out infinite alternate; } .water { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; background: #000; -webkit-filter: blur(10px) contrast(500) hue-rotate(40deg); filter: blur(10px) contrast(500) hue-rotate(40deg); } .pool { position: absolute; } .pool_wrapper:nth-child(1) { -webkit-animation: rotate 13889ms -20000ms linear infinite; animation: rotate 13889ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(1) .pool { top: calc(50% - 367px / 2); left: calc(50% - 367px / 2); width: 367px; height: 367px; border: 8px solid #6465b3; border-radius: 84% 16% 25% 75% / 30% 91% 9% 70%; } .pool_wrapper:nth-child(2) { -webkit-animation: rotate 13849ms -20000ms linear infinite; animation: rotate 13849ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(2) .pool { top: calc(50% - 408px / 2); left: calc(50% - 408px / 2); width: 408px; height: 408px; border: 8px solid #64bbc4; border-radius: 67% 33% 37% 63% / 62% 63% 37% 38%; } .pool_wrapper:nth-child(3) { -webkit-animation: rotate 10081ms -20000ms linear infinite; animation: rotate 10081ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(3) .pool { top: calc(50% - 376px / 2); left: calc(50% - 376px / 2); width: 376px; height: 376px; border: 8px solid #648a6e; border-radius: 22% 78% 66% 34% / 77% 35% 65% 23%; } .pool_wrapper:nth-child(4) { -webkit-animation: rotate 8416ms -20000ms linear infinite; animation: rotate 8416ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(4) .pool { top: calc(50% - 389px / 2); left: calc(50% - 389px / 2); width: 389px; height: 389px; border: 8px solid #64b9b7; border-radius: 83% 17% 57% 43% / 33% 83% 17% 67%; } .pool_wrapper:nth-child(5) { -webkit-animation: rotate 7300ms -20000ms linear infinite; animation: rotate 7300ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(5) .pool { top: calc(50% - 489px / 2); left: calc(50% - 489px / 2); width: 489px; height: 489px; border: 8px solid #64d67b; border-radius: 77% 23% 27% 73% / 98% 29% 71% 2%; } .pool_wrapper:nth-child(6) { -webkit-animation: rotate 8418ms -20000ms linear infinite; animation: rotate 8418ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(6) .pool { top: calc(50% - 357px / 2); left: calc(50% - 357px / 2); width: 357px; height: 357px; border: 8px solid #64ee3f; border-radius: 54% 46% 42% 58% / 21% 63% 37% 79%; } .pool_wrapper:nth-child(7) { -webkit-animation: rotate 14528ms -20000ms linear infinite; animation: rotate 14528ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(7) .pool { top: calc(50% - 459px / 2); left: calc(50% - 459px / 2); width: 459px; height: 459px; border: 8px solid #64b4b8; border-radius: 64% 36% 59% 41% / 77% 55% 45% 23%; } .pool_wrapper:nth-child(8) { -webkit-animation: rotate 14180ms -20000ms linear infinite; animation: rotate 14180ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(8) .pool { top: calc(50% - 533px / 2); left: calc(50% - 533px / 2); width: 533px; height: 533px; border: 8px solid #64ff5d; border-radius: 97% 3% 81% 19% / 60% 44% 56% 40%; } .pool_wrapper:nth-child(9) { -webkit-animation: rotate 13824ms -20000ms linear infinite; animation: rotate 13824ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(9) .pool { top: calc(50% - 449px / 2); left: calc(50% - 449px / 2); width: 449px; height: 449px; border: 8px solid #648293; border-radius: 43% 57% 87% 13% / 28% 58% 42% 72%; } .pool_wrapper:nth-child(10) { -webkit-animation: rotate 6560ms -20000ms linear infinite; animation: rotate 6560ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(10) .pool { top: calc(50% - 408px / 2); left: calc(50% - 408px / 2); width: 408px; height: 408px; border: 8px solid #64c787; border-radius: 33% 67% 85% 15% / 61% 58% 42% 39%; } .pool_wrapper:nth-child(11) { -webkit-animation: rotate 14486ms -20000ms linear infinite; animation: rotate 14486ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(11) .pool { top: calc(50% - 382px / 2); left: calc(50% - 382px / 2); width: 382px; height: 382px; border: 8px solid #647477; border-radius: 36% 64% 66% 34% / 53% 75% 25% 47%; } .pool_wrapper:nth-child(12) { -webkit-animation: rotate 11202ms -20000ms linear infinite; animation: rotate 11202ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(12) .pool { top: calc(50% - 493px / 2); left: calc(50% - 493px / 2); width: 493px; height: 493px; border: 8px solid #64b892; border-radius: 78% 22% 29% 71% / 34% 52% 48% 66%; } .pool_wrapper:nth-child(13) { -webkit-animation: rotate 5636ms -20000ms linear infinite; animation: rotate 5636ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(13) .pool { top: calc(50% - 532px / 2); left: calc(50% - 532px / 2); width: 532px; height: 532px; border: 8px solid #649c8e; border-radius: 25% 75% 55% 45% / 88% 64% 36% 12%; } .pool_wrapper:nth-child(14) { -webkit-animation: rotate 5551ms -20000ms linear infinite; animation: rotate 5551ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(14) .pool { top: calc(50% - 497px / 2); left: calc(50% - 497px / 2); width: 497px; height: 497px; border: 8px solid #64989d; border-radius: 53% 47% 86% 14% / 81% 94% 6% 19%; } .pool_wrapper:nth-child(15) { -webkit-animation: rotate 6169ms -20000ms linear infinite; animation: rotate 6169ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(15) .pool { top: calc(50% - 496px / 2); left: calc(50% - 496px / 2); width: 496px; height: 496px; border: 8px solid #64f877; border-radius: 56% 44% 72% 28% / 59% 88% 12% 41%; } .pool_wrapper:nth-child(16) { -webkit-animation: rotate 14632ms -20000ms linear infinite; animation: rotate 14632ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(16) .pool { top: calc(50% - 511px / 2); left: calc(50% - 511px / 2); width: 511px; height: 511px; border: 8px solid #648fa2; border-radius: 42% 58% 61% 39% / 60% 26% 74% 40%; } .pool_wrapper:nth-child(17) { -webkit-animation: rotate 14846ms -20000ms linear infinite; animation: rotate 14846ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(17) .pool { top: calc(50% - 326px / 2); left: calc(50% - 326px / 2); width: 326px; height: 326px; border: 8px solid #64d53c; border-radius: 75% 25% 23% 77% / 68% 74% 26% 32%; } .pool_wrapper:nth-child(18) { -webkit-animation: rotate 10114ms -20000ms linear infinite; animation: rotate 10114ms -20000ms linear infinite; mix-blend-mode: screen; } .pool_wrapper:nth-child(18) .pool { top: calc(50% - 504px / 2); left: calc(50% - 504px / 2);.........完整代码请登录后点击上方下载按钮下载查看
网友评论0