纯css实现三维3d五角星月亮效果代码

代码语言:html

所属分类:三维

代码描述:纯css实现三维3d五角星月亮效果代码

代码标签: 三维 3d 五角星 月亮 效果

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

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

<head>

  <meta charset="UTF-8">
  

  
<style>
@charset "UTF-8";
@property --houdini {
  syntax: "<integer>";
  initial-value: 1;
  inherits: true;
}
html {
  height: 100%;
  background: #000014;
}
html:before, html:after {
  position: absolute;
  z-index: -1;
  width: 100%;
  opacity: 0.05;
  color: #fff;
  font: italic 900 4vmin/2 petit formal script;
  text-align: center;
}
html:after {
  content: "Missing you every day";
}
html:before {
  content: "1st of June 1927 - 18th of January 2019";
}

body, div {
  display: grid;
}

body {
  --s: var(--houdini, 0);
  --not-s: calc(1 - var(--s));
  overflow: hidden;
  margin: 0;
  min-height: 18.75em;
  perspective: 39em;
}

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

::before, ::after {
  --not-k: calc(1 - var(--k));
  --sgn-k: calc(2*var(--k) - 1) ;
}

::before {
  --k: 0 ;
}

::after {
  --k: 1 ;
}

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

.toy {
  animation: rot-y 12s linear infinite;
}
.toy > .hang {
  transform: rotatey(calc(var(--py)*1turn)) translate(9.375em);
}

@keyframes rot-y {
  to {
    transform: rotatey(1turn);
  }
}
.hang {
  --not-typ: calc(1 - var(--typ));
  position: relative;
}
.hang > .hang {
  --not-pos: calc(1 - var(--pos, 0));
  transform: rotatex(calc(var(--pos)*var(--dl, 0deg))) translate3d(0, calc((1.2 + var(--sf))*var(--not-pos)*6.25em), calc(var(--pos)*-6.25em)) rotatex(calc(-1*var(--pos)*var(--dl, 0deg))) translatey(calc(var(--pos)*var(--sf)*6.25em));
}
.hang:before {
  position: absolute;
  bottom: 50%;
  width: 4px;
  height: 12.5em;
  background: repeating-linear-gradient(60deg, darkorange 0 4px, maroon 0 8px);
  animation: rot-y 12s linear infinite reverse;
  content: "";
}

@property --int {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}
.⭐ > .lat {
  --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));
  height: 0;
  transform: rotatex(calc(var(--p)*1turn)) translatey(calc(-1*var(--sf)*6.25em));
}
.⭐ > .lat::before, .⭐ > .lat::after {
  --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.........完整代码请登录后点击上方下载按钮下载查看

网友评论0