vue实现一个全息分层三维粒子发射器动画效果代码
代码语言:html
所属分类:粒子
代码描述:vue实现一个全息分层三维粒子发射器动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" /> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1.js"></script> <style> :root { --main-blue-color: #13aeff; --main-white-color: #ffffff; --main-orange-color: #d66b18; } body { width:100vw; height:100vh; margin:0; padding:0; overflow:hidden; background-image: radial-gradient( circle farthest-corner at 10% 20%, rgba(28,38,47,1) 0%, rgba(37,47,57,1) 90% ); } .testbtn { position: absolute; top: 20px; left: calc(50vw - 25px); height: 20px; box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.5); text-transform: uppercase; height: 25px; width: 70px; background-color: transparent; z-index: 10000000000000; color: white; border: 1px solid white; } .cloud { z-index:-1; opacity:0.5; animation:cloudFade; } @keyframes cloudFade { 0% {opacity:0.5;} 50% {opacity:0;} 100% {opacity:0.5;} } @keyframes reverseRotate { from { transform:rotate(0deg) } to { transform:rotate(360deg) } } @keyframes rotate { from { transform:rotate(360deg) } to { transform:rotate(0deg) } } #secondCircle .slider { background-color: transparent; width: calc(50% + 4px); box-sizing: border-box; height: 8px; top:calc(50% - 4px); left:calc(50% - 4px); position: relative; animation:rotate 8s infinite linear; transform-origin: 4px 4px; } #secondCircle .sliderPoint.a { box-shadow: 0px 0px 3px 2px rgba(255,255,255,0.55); left: calc(100% - 2px); width: 4px; background-color: rgba(255,255,255,0.55); position:relative; box-sizing: border-box; border-radius: 100%; height: 4px; } #secondCircle .sliderPoint.a:before { content: ''; box-shadow: 0px 0px 3px 2px rgba(255,255,255,0.55); width: 4px; position: relative; top: 183px; left: -285px; border-radius: 90px; height: 4px; display: block; background-color: rgba(255,255,255,0.55); } #secondCircle .sliderPoint.a:after { content: ''; box-shadow: 0px 0px 3px 2px rgba(255,255,255,0.55); width: 4px; position: relative; top: -190px; left: -270px; border-radius: 90px; height: 4px; display: block; background-color: rgba(255,255,255,0.55); } #holoLoader.active .sliderPoint.a:after { animation:sparks 3s infinite linear 0s; } #holoLoader.active .sliderPoint.a:before { animation:sparks 3s infinite linear 1.2s; } #holoLoader.active .sliderPoint.a { animation:sparks 3s infinite linear 0.3s; } @keyframes sparks { 0% { box-shadow: 0px 0px 5px 3px rgba(255,255,255,0.75); } 60% { box-shadow: 0px 0px 5px 3px rgba(255,255,255,0.75); } 61% { box-shadow: 0px 0px 5px 8px rgba(255,255,255,0.75); } 62% { box-shadow: 0px 0px 5px 3px rgba(255,255,255,0.75); } 84% { box-shadow: 0px 0px 5px 3px rgba(255,255,255,0.75); } 85% { box-shadow: 0px 0px 5px 8px rgba(255,255,255,0.75); } 86% { box-shadow: 0px 0px 5px 3px rgba(255,255,255,0.75); } } #holoLoader { z-index:1; //box-shadow: 0px 0px 39px 0px rgba(148,255,241,1); position:relative; border-radius:50%; background-color:rgba(255,255,255,0); width:500px; height:500px; margin:auto; margin-top:calc(50vh - 250px); transition:all 0.5s ease-in-out 0.4s; //transform: perspective(1000px) rotateX(30deg) rotateY(-50deg) rotateZ(0deg); } .holoLayer { //background: radial-gradient(circle, rgba(255,255,255,0) 0%, rgba(202,226,255,0) 65%, rgba(147,196,255,1) 100%); //box-shadow: 0px 0px 39px 0px rgba(148,255,241,0.3); border-radius:360px; transition:all 0.5s ease-in-out 0s; } #holoLoader.active { transform: perspective(1000px) rotateX(30deg) rotateY(-50deg) rotateZ(0deg); transition:all 0.5s ease-in-out; } #core { width:100%; height:100%; background:radial-gradient(circle, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 17%, rgba(147,196,255,0.1) 24%, rgba(255,255,255,0) 30%) } #coreC.........完整代码请登录后点击上方下载按钮下载查看
网友评论0