css通过sin与cos实现彩色粒子环绕动画效果代码

代码语言:html

所属分类:粒子

代码描述:css通过sin与cos实现彩色粒子环绕动画效果代码

代码标签: css sin cos 彩色 粒子 环绕 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  

  
  
<style>
/* Look, no Sass */

.particle {
  /* Starting values */
  --angle: (5 * var(--index));
  --radius: 30;
  --x: calc(sin(var(--angle)) * var(--radius) * 1vmin);
  --y: calc(cos(var(--angle)) * var(--radius) * 1vmin);

  /* Ending values */
  /* 
  Had to move these outside the @keyframe and rename them 
  because Chrome was being weird 
  Bonusly, performance seems much better 
  */
  --angle2: calc(var(--index) * 1turn / var(--total));
  --x2: calc(sin(var(--angle2)) * var(--radius) * 1vmin);
  --y2: calc(cos(var(--angle2)) * var(--radius) * 1vmin);

  --size: 5;
  --speed: 3s;
  --delay: calc(var(--index) * var(--speed) / var(--total) * 4);

  --hue-angle: 10;
  --hue-range: 60;
  --hue-start: 20;

  /* Animation */
  -webkit-animation: animation var(--speed) ease-out infinite alternate var(--delay);
          animation: animation var(--speed) ease-out infinite alternate var(--delay);
  transform: translate3d(var(--x), var(--y), 0);
  opacity: 0;

  /* Particle styling */
  border-radius: 50%;
  background: currentColor;
  color: oklch(75% 0.3
      calc(
        sin(var(--hue-angle) * var(--index)) 
        * var(--hue-range) 
        + var(--hue-start)
      )
  );
  position: absolute;
  width: calc(var(--size) * 0.1vmin);
  height: calc(var(--size) * 0.1vmin);
  contain: strict; /* Does this help or is translate3d already doing it*/
}

@-webkit-keyframes animation {
  100% {
    transform: translate3d(var(--x2), var(--y2), 0);
    opacity: 1;
  }
}

@keyframes animation {
  100% {
    transform: translate3d(var(--x2), var(--y2), 0);
    opacity: 1;
  }
}

/* Pen styling, ignore */
body {
  background: #000;
  display: flex;
  min-height: 100vh;
  justify-content: center;
  align-content: center;
  align-items: center;
  overflow: hidden;
}
</style>


  
  
</head>

<body translate="no">
  <div class="center" style="--total: 1080">
  <div class="particle" style="--index: 1"></div>
  <div class="particle" style="--index: 2"></div>
  <div class="particle" style="--index: 3"></div>
  <div class="particle" style="--index: 4"></div>
  <div class="particle" style="--index: 5"></div>
  <div class="particle" style="--index: 6"></div>
  <div class="particle" style="--index: 7"></div>
  <div class="particle" style="--index: 8"></div>
  <div class="particle" style="--index: 9"></div>
  <div class="particle" style="--index: 10"></div>
  <div class="particle" style="--index: 11"></div>
  <div class="particle" style="--index: 12"></div>
  <div class="particle" style="--index: 13"></div>
  <div class="particle" style="--index: 14"></div>
  <div class="particle" style="--index: 15"></div>
  <div class="particle" style="--index: 16"></div>
  <div class="particle" style="--index: 17"></div>
  <div class="particle" style="--index: 18"></div>
  <div class="particle" style="--index: 19"></div>
  <div class="particle" style="--index: 20"></div>
  <div class="particle" style="--index: 21"></div>
  <div class="particle" style="--index: 22"></div>
  <div class="particle" style="--index: 23"></div>
  <div class="particle" style="--index: 24"></div>
  <div class="particle" style="--index: 25"></div>
  <div class="particle" style="--index: 26"></div>
  <div class="particle" style="--index: 27"></div>
  <div class="particle" style="--index: 28"></div>
  <div class="particle" style="--index: 29"></div>
  <div class="particle" style="--index: 30"></div>
  <div class="particle" style="--index: 31"></div>
  <div class="particle" style="--index: 32"></div>
  <div class="particle" style="--index: 33"></div>
  <div class="particle" style="--index: 34"></div>
  <div class="particle" style="--index: 35"></div>
  <div class="particle" style="--index: 36"></div>
  <div class="particle" style="--index: 37"></div>
  <div class="particle" style="--index: 38"></div>
  <div class="particle" style="--index: 39"></div>
  <div class="particle" style="--index: 40"></div>
  <div class="particle" style="--index: 41"></div>
  <div class="particle" style="--index: 42"></div>
  <div class="particle" style="--index: 43"></div>
  <div class="particle" style="--index: 44"></div>
  <div class="particle" style="--index: 45"></div>
  <div class="particle" style="--index: 46"></div>
  <div class="particle" style="--index: 47"></div>
  <div class="particle" style="--index: 48"></div>
  <div class="particle" style="--index: 49"></div>
  <div class="particle" style="--index: 50"></div>
  <div class="particle" style="--index: 51"></div>
  <div class="particle" style="--index: 52"></div>
  <div class="particle" style="--index: 53"></div>
  <div class="particle" style="--index: 54"></div>
  <div class="particle" style="--index: 55"></div>
  <div class="particle" style="--index: 56"></div>
  <div class="particle" style="--index: 57"></div>
  <div class="particle" style="--index: 58"></div>
  <div class="particle" style="--index: 59"></div>
  <div class="particle" style="--index: 60"></div>
  <div class="particle" style="--index: 61"></div>
  <div class="particle" style="--index: 62"></div>
  <div class="particle" style="--index: 63"></div>
  <div class="particle" style="--index: 64"></div>
  <div class="particle" style="--index: 65"></div>
  <div class="particle" style="--index: 66"></div>
  <div class="particle" style="--index: 67"></div>
  <div class="particle" style="--index: 68"></div>
  <div class="particle" style="--index: 69"></div>
  <div class="particle" style="--index: 70"></div>
  <div class="particle" style="--index: 71"></div>
  <div class="particle" style="--index: 72"></div>
  <div class="particle" style="--index: 73"></div>
  <div class="particle" style="--index: 74"></div>
  <div class="particle" style="--index: 75"></div>
  <div class="particle" style="--index: 76"></div>
  <div class="particle" style="--index: 77"></div>
  <div class="particle" style="--index: 78"></div>
  <div class="particle" style="--index: 79"></div>
  <div class="particle" style="--index: 80"></div>
  <div class="particle" style="--index: 81"></div>
  <div class="particle" style="--index: 82"></div>
  <div class="particle" style="--index: 83"></div>
  <div class="particle" style="--index: 84"></div>
  <div class="particle" style="--index: 85"></div>
  <div class="particle" style="--index: 86"></div>
  <div class="particle&q.........完整代码请登录后点击上方下载按钮下载查看

网友评论0