纯css实现一个三维五角星旋转动画效果代码

代码语言:html

所属分类:三维

代码描述:纯css实现一个三维五角星旋转动画效果代码

代码标签: 一个 三维 五角星 旋转 动画 效果

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


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

<head>

  <meta charset="UTF-8">

  
<style>
@charset "UTF-8";


@keyframes float {
  to {
    transform: translateY(0.75em);
  }
}
@property --houdini {
  syntax: "<integer>";
  initial-value: 1;
  inherits: true;
}
body, div {
  display: grid;
}

body {
  --s: var(--houdini, 0);
  --not-s: calc(1 - var(--s));
  overflow: hidden;
  margin: 0;
  height: 100vh;
  perspective: 35em;
  background: #000014;
}

div, ::before, ::after {
  grid-area: 1/1;
}

div {
  transform-style: preserve-3d;
}

.⭐ {
  animation: rot-y 12s linear infinite;
}

@keyframes rot-y {
  to {
    transform: rotateY(1turn);
  }
}
@property --int {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}
.arm {
  --sgn-q: calc(2*var(--q) - 1);
  --p: calc(var(--i)/var(--n));
  --not-up: Min(1, var(--i));
  --up: calc(1 - var(--not-up));
  --dif: calc(2*var(--i) - var(--n));
  --not-dn: Min(1, Max(var(--dif), calc(-1*var(--dif))));
  --dn: calc(1 - var(--not-dn));
  place-self: center;
  height: 0;
  transform: rotatex(calc(var(--p)*1turn)) translatey(-16em);
}
.arm::before, .arm::after {
  --k: 0;
  --sgn-k: calc(2*var(--k) - 1);
  --sum: calc(var(--p) + var(--sgn-k)*var(--rcm) + 1);
  --int: calc(var(--sum) - .5);
  --mod: calc(var(--sum) - var(--int));
  --term: calc(var(--s)*var(--mod) + var(--not-s)*var(--p));
  --abs: Max(calc(var(--term) - .5), calc(.5 - var(--term)));
  --inc: calc(2*var(--abs) - .5);
  --sgn-j: calc(var(--dn)*var(--sgn-k) -
  							var(--up)*var(--sgn-k) +
  							var(--not-dn)*var(--not-up)*clamp(-1, var(--dif), 1));
  --j: calc(.5*(var(--sgn-j) + 1));
  --sh: calc(.25*(3*var(--q) - var(--sgn-q)*(1 - var(--j))));
  width: calc(2*var(--rsw)*16em);
  height: calc(var(--rsh)*16em);
  transform-origin: 50% 0;
  transform: rotatey(calc(var(--k)*.5turn)) rotatex(var(--ax)) scalex(calc(var(--sg.........完整代码请登录后点击上方下载按钮下载查看

网友评论0