div+css绘制走出黑暗对数螺旋线旋转动画效果代码

代码语言:html

所属分类:动画

代码描述:div+css绘制走出黑暗对数螺旋线旋转动画效果代码

代码标签: 黑暗 对数 螺旋线 旋转 动画 效果

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


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

<head>

  <meta charset="UTF-8">
  

  
<style>
#btn--yp {
  box-sizing: content-box;
  position: fixed;
  z-index: 9;
  bottom: 1em;
  right: 1em;
  border: solid 1em transparent;
  width: 4.625em;
  height: 3.25em;
  
  font: 16px/1.25 trebuchet ms, sans-serif;
  text-indent: 200vw;
  text-shadow: none;
  filter: grayscale(1) drop-shadow(0 0 1px #e8e0e0);
  transition: 0.5s;
  white-space: nowrap;
}
#btn--yp:before {
  box-sizing: inherit;
  position: absolute;
  left: 0;
  bottom: 100%;
  margin: 1em -0.5em;
  padding: 0.5em;
  width: 100%;
  border-radius: 5px;
  background: #e8e0e0;
  color: #000;
  text-align: center;
  text-decoration: none;
  text-indent: 0vw;
  white-space: normal;
  animation: float 1s ease-in-out infinite alternate;
  content: attr(data-txt);
}
#btn--yp:hover, #btn--yp:focus {
  outline: none;
  filter: grayscale(0) drop-shadow(0 0 1px crimson);
}

@keyframes float {
  to {
    transform: translateY(0.75em);
  }
}
body {
  display: grid;
  place-content: center;
  overflow: hidden;
  margin: 0;
  height: 100vh;
  background: radial-gradient(circle closest-side, #000, #fff);
}

.dot {
  --k: calc(var(--i)/var(--n-arms));
  grid-area: 1/1;
  place-self: center;
  padding: var(--c);
  border-radius: 50%;
  transform: rotate(calc(var(--k)*1turn + var(--j)*var(--u))) translate(var(--r0)) scale(calc(min(1, var(--j))*var(--f0)));
  opacity: calc(1 - var(--j)/var(--n-dots));
  background: hsl(calc(var(--k)*360), 97%, 63%);
  animation: a 1s linear infinite;
}

@keyframes a {
  to {
    transform: rotate(calc(var(--k)*1turn + (var(--j) + 1)*var(--u))) translate(var(--r1)) scale(var(--f1));
    opacity: calc(1 - (var(--j) + 1)/var(--n-dots));
  }
}
</style>



</head>

  <body style="--n-dots: 50; --n-arms: 7;
						--u: 15deg; --c: 3px">
  <style>.dot:nth-of-type(n + 1) { --i: 0 }.dot:nth-of-type(n + 51) { --i: 1 }.dot:nth-of-type(n + 101) { --i: 2 }.dot:nth-of-type(n + 151) { --i: 3 }.dot:nth-of-type(n + 201) { --i: 4 }.dot:nth-of-type(n + 251) { --i: 5 }.dot:nth-of-type(n + 301) { --i: 6 }.dot:nth-of-type(50n + 1) {
    	--j: 0;
    	--r0: 24px;
    	--f0: 1.07;
    	--r1: 26px;
    	--f1: 1.14
    }.dot:nth-of-type(50n + 2) {
    	--j: 1;
    	--r0: 26px;
    	--f0: 1.14;
    	--r1: 28px;
    	--f1: 1.22
    }.dot:nth-of-type(50n + 3) {
    	--j: 2;
    	--r0: 28px;
    	--f0: 1.22;
    	--r1: 30px;
    	--f1: 1.3
    }.dot:nth-of-type(50n + 4) {
    	--j: 3;
    	--r0: 30px;
    	--f0: 1.3;
    	--r1: 33px;
    	--f1: 1.39
    }.dot:nth-of-type(50n + 5) {
    	--j: 4;
    	--r0: 33px;
    	--f0: 1.39;
    	--r1: 36px;
    	--f1: 1.48
    }.dot:nth-of-type(50n + 6) {
    	--j: 5;
    	--r0: 36px;
    	--f0: 1.48;
    	--r1: 39px;
    	--f1: 1.58
    }.dot:nth-of-type(50n + 7) {
    	--j: 6;
    	--r0: 39px;
    	--f0: 1.58;
    	--r1: 42px;
    	--f1: 1.69
    }.dot:nth-of-type(50n + 8) {
    	--j: 7;
    	--r0: 42px;
    	--f0: 1.69;
    	--r1: 45px;
    	--f1: 1.8
    }.dot:nth-of-type(50n + 9) {
    	--j: 8;
    	--r0: 45px;
    	--f0: 1.8;
    	--r1: 49px;
    	--f1: 1.92
    }.dot:nth-of-type(50n + 10) {
    	--j: 9;
    	--r0: 49px;
    	--f0: 1.92;
    	--r1: 53px;
    	--f1: 2.05
    }.dot:nth-of-type(50n + 11) {
    	--j: 10;
    	--r0: 53px;
    	--f0: 2.05;
    	--r1: 57px;
    	--f1: 2.19
    }.dot:nth-of-type(50n + 12) {
    	--j: 11;
    	--r0: 57px;
    	--f0: 2.19;
    	--r1: 61px;
    	--f1: 2.34
    }.dot:nth-of-type(50n + 13) {
    	--j: 12;
    	--r0: 61px;
    	--f0: 2.34;
    	--r1: 66px;
    	--f1: 2.5
    }.dot:nth-of-type(50n + 14) {
    	--j: 13;
    	--r0: 66px;
    	--f0: 2.5;
    	--r1: 71px;
    	--f1: 2.67
    }.dot:nth-of-type(50n + 15) {
    	--j: 14;
    	--r0: 71px;
    	--f0: 2.67;
    	--r1: 76px;
    	--f1: 2.85
    }.dot:nth-of-type(50n + 16) {
    	--j: 15;
    	--r0: 76px;
    	--f0: 2.85;
    	--r1: 82px;
    	--f1: 3.04
    }.dot:nth-of-type(50n + 17) {
    	--j: 16;
    	--r0: 82px;
    	--f0: 3.04;
    	--r1: 88px;
    	--f1: 3.25
    }.dot:nth-of-type(50n + 18) {
    	--j: 17;
    	--r0: 88px;
    	--f0: 3.25;
    	--r1: 94px;
    	--f1: 3.47
    }.dot:nth-of-type(50n + 19) {
    	--j: 18;
    	--r0: 94px;
    	--f0: 3.47;
    	--r1: 101px;
    	--f1: 3.7
    }.dot:nth-of-type(50n + 20) {
    	--j: 19;
    	--r0: 101px;
    	--f0: 3.7;
    	--r1: 108px;
    	--f1: 3.95
    }.dot:nth-of-type(50n + 21) {
    	--j: 20;
    	--r0: 108px;
    	--f0: 3.95;
    	--r1: 116px;
    	--f1: 4.22
    }.dot:nth-of-type(50n + 22) {
    	--j: 21;
    	--r0: 116px;
    	--f0: 4.22;
    	--r1: 124px;
    	--f1: 4.51
    }.dot:nth-of-type(50n + 23) {
    	--j: 22;
    	--r0: 124px;
    	--f0: 4.51;
    	--r1: 133px;
    	--f1: 4.82
    }.dot:nth-of-type(50n + 24) {
    	--j: 23;
    	--r0: 133px;
    	--f0: 4.82;
    	--r1: 142px;
    	--f1: 5.15
    }.dot:nth-of-type(50n + 25) {
    	--j: 24;
    	--r0: 142px;
    	--f0: 5.15;
    	--r1: 152px;
    	--f1: 5.5
    }.dot:nth-of-type(50n + 26) {
    	--j: 25;
    	--r0: 152px;
    	--f0: 5.5;
    	--r1: 163px;
    	--f1: 5.87
    }.dot:nth-of-type(50n + 27) {
    	--j: 26;
    	--r0: 163px;
    	--f0: 5.87;
    	--r1: 175px;
    	--f1: 6.27
    }.dot:nth-of-type(50n + 28) {
    	--j: 27;
    	--r0: 175px;
    	--f0: 6.27;
    	--r1: 187px;
    	--f1: 6.69
    }.dot:nth-of-type(50n + 29) {
    	--j: 28;
    	--r0: 187px;
    	--f0: 6.69;
    	--r1: 200px;
    	--f1: 7.14
    }.dot:nth-of-type(50n + 30) {
    	--j: 29;
    	--r0: 200px;
    	--f0: 7.14;
    	--r1: 214px;
    	--f1: 7.62
    }.dot:nth-of-type(50n + 31) {
    	--j: 30;
    	--r0: 214px;
    	--f0: 7.62;
    	--r1: 229px;
    	--f1: 8.14
    }.dot:nth-of-type(50n + 32) {
    	--j: 31;
    	--r0: 229px;
    	--f0: 8.14;
    	--r1: 245px;
    	--f1: 8.69
    }.dot:nth-of-type(50n + 33) {
    	--j: 32;
    	--r0: 245px;
    	--f0: 8.69;
    	--r1: 262px;
    	--f1: 9.28
    }.dot:nth-of-type(50n + 34) {
    	--j: 33;
    	--r0: 262px;
    	--f0: 9.28;
    	--r1: 280px;
    	--f1: 9.91
    }.dot:nth-of-type(50n + 35) {
    	--j: 34;
    	--r0: 280px;
    	--f0: 9.91;
    	--r1: 299px;
    	--f1: 10.58
    }.dot:nth-of-type(50n + 36) {
    	--j: 35;
    	--r0: 299px;
    	--f0: 10.58;
    	--r1: 320px;
    	--f1: 11.3
    }.dot:nth-of-type(50n + 37) {
    	--j: 36;
    	--r0: 320px;
    	--f0: 11.3;
    	--r1: 342px;
    	--f1: 12.06
    }.dot:nth-of-type(50n + 38) {
    	--j: 37;
    	--r0: 342px;
    	--f0: 12.06;
    	--r1: 366px;
    	--f1: 12.88
    }.dot:nth-of-type(50n + 39) {
    	--j: 38;
    	--r0: 366px;
    	--f0: 12.88;
    	--r1: 391px;
    	--f1: 13.75
    }.dot:nth-of-type(50n + 40) {
    	--j: 39;
    	--r0: 391px;
    	--f0: 13.75;
    	--r1: 418px;
    	--f1: 14.68
    }.dot:nth-of-type(50n + 41) {
    	--j: 40;
    	--r0: 418px;
    	--f0: 14.68;
    	--r1: 447px;
    	--f1: 15.67
    }.dot:nth-of-type(50n + 42) {
    	--j: 41;
    	--r0: 447px;
    	--f0: 15.67;
    	--r1: 478px;
    	--f1: 16.73
    }.dot:nth-of-type(50n + 43) {
    	--j: 42;
    	--r0: 478px;
    	--f0: 16.73;
    	--r1: 511px;
    	--f1: 17.86
    }.dot:nth-of-type(50n + 44) {
    	--j: 43;
    	--r0: 511px;
    	--f0: 17.86;
    	--r1: 546px;
    	--f1: 19.07
    }.dot:nth-of-type(50n + 45) {
    	--j: 44;
    	--r0: 546px;
    	--f0: 19.07;
    	--r1: 583px;
    	--f1: 20.36
    }.dot:nth-of-type(50n + 46) {
    	--j: 45;
    	--r0: 583px;
    	--f0: 20.36;
    	--r1: 623px;
    	--f1: 21.74
    }.dot:nth-of-type(50n + 47) {
    	--j: 46;
    	--r0: 623px;
    	--f0: 21.74;
    	--r1: 666px;
    	--f1: 23.21
    }.dot:nth-of-type(50n + 48) {
    	--j: 47;
    	--r0: 666px;
    	--f0: 23.21;
    	--r1: 712px;
    	--f1: 24.78
    }.dot:nth-of-type(50n + 49) {
    	--j: 48;
    	--r0: 712px;
    	--f0: 24.78;
    	--r1: 761px;
    	--f1: 26.46
    }.dot:nth-of-type(50n + 50) {
    	--j: 49;
    	--r0: 761px;
    	--f0: 26.46;
    	--r1: 813px;
    	--f1: 28.25
    }
  </style>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"><.........完整代码请登录后点击上方下载按钮下载查看

网友评论0