css绘制情绪小球动画效果代码

代码语言:html

所属分类:动画

代码描述:css绘制情绪小球动画效果代码

代码标签: css 绘制 情绪 小球 动画

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

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

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

  
  
<style>
:root {
  --spheres: 25;
  --bg-color: #111;
  /* look ma, no houdini */
  --light-color: hsl(
    calc(-140 + var(--milliseconds, 0) / 200),
    80%,
    70%
  );
  --light-x: var(--cursor-x-1, 0);
  --light-y: var(--cursor-y-1, 0);
}

body {
  height: 100dvh;
  display: grid;
  place-items: center;
  overflow: hidden;
  margin: 0;
  background: var(--bg-color);
}

.sphere {
  --color: hsl(
    calc(140 + var(--milliseconds, 0) / 200 + var(--i) * 5),
    calc(40% + var(--i) * 1%),
    calc(15% + var(--i) * .5%)
  );
  --row: sqrt(var(--spheres));
  --cell: calc(.7 / var(--row));
  --size: calc(100vmin / var(--row) / (var(--i) / var(--spheres)));
  --x: calc(.2 + mod(var(--i), var(--row)) * var(--cell));
  --y: calc(.2 + (var(--i) / var(--row) - .5) * var(--cell));
  --distance-x: calc(var(--light-x) - var(--x));
  --distance-y: calc(var(--light-y) - var(--y));
  --distance: calc(sqrt(
    var(--distance-x) * var(--distance-x) +
    var(--distance-y) * var(--distance-y)
  ));
  --gradient-position:
    calc(50% + 50% * var(--distance-x))
    calc(50% + 50% * var(--distance-y));
  position: absolute;
  top: calc(var(--y) * 100%);
  left: calc(var(--x) * 100%);
  translate: -50% -50%;
  width: min(var(--size), 120vmin);
  height: min(var(--size), 120vmin);
  border-radius: 50%;
  background: radial-gradient(
    circle at var(--gradient-position),
    var(--light-color),
    var(--color) calc(50% + 50% * (1 - var(--distance)))
  );
  -webkit-animation: wiggle 3s ease-in-out infinite;
          animation: wiggle 3s ease-in-out infinite;
  -webkit-animation-delay: calc(
    var(--i) * -1s +
    mod(var(--i), var(--row)) * -.1s
  );
          animation-delay: calc(
    var(--i) * -1s +
    mod(var(--i), var(--row)) * -.1s
  );
  filter: blur(calc(2em - var(--i) * .1em));
  transform: translateZ(0);
}

@-webkit-keyframes wiggle {
  25% {
    translate: -30% -40%;
  }
  50% {
    translate: -27% -45%;
  }
  50% {
    translate: -55% -55%;
  }
  75% {
    translate: -60% -25%;
  }.........完整代码请登录后点击上方下载按钮下载查看

网友评论0