css+div实现三维小球桌面立体圆周运动代码

代码语言:html

所属分类:动画

代码描述:css+div实现三维小球桌面立体圆周运动代码

代码标签: css div 三维 小球 桌面 立体 圆周 运动 代码

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

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

<head>
  <meta charset="UTF-8">
  
  
  
  
<style>
*, *::before, *::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
  background-color: #000;
  color: #fff;
  min-height: 100vh;
  display: grid;
  place-items: center;
  perspective: 800px;
  overflow: clip;
  font-size: 12px;
  
  * {
    transform-style: preserve-3d;
  }
}

.scene {
  position: relative;
  -webkit-animation: scene 144s linear infinite;
          animation: scene 144s linear infinite;

  * { position: absolute; }
}

@-webkit-keyframes scene {
  from { transform: rotateX(30deg) rotateZ(0deg); }
  to { transform: rotateX(30deg) rotateZ(-360deg); }
}

@keyframes scene {
  from { transform: rotateX(30deg) rotateZ(0deg); }
  to { transform: rotateX(30deg) rotateZ(-360deg); }
}

.floor {
  inset: -40em;
  background-color: #fff2;
  background:
    radial-gradient(closest-side, transparent, black),
    repeating-conic-gradient(#aaf8 0 30deg, #003 0 60deg) 0 0 / 2em 2em;
}

.wall {    
  inset: -3.25em -6.5em;
  translate: 0 -3.25em;
  transform-origin: bottom;
    
  i {
    --color: hsl(200 0% var(--i) * 4%);
    
    inset: 0;
    border-radius: 50% / 100% 100% 0 0;
    border: solid hsl(0 0% calc(var(--i) * 3%)) 0.5em;
    border-bottom: none;
    transform: translateZ(calc(var(--i) * 2px));
    
    &:first-child {
      filter: blur(0.3em);
    }
  }
  
  &.main {
    -webkit-animation: mainWall 2s linear infinite;
            animation: mainWall 2s linear infinite;
  }
  
  &.out {
    transform: rotate(calc(var(--w) * 45deg)) translateY(-20em);
    
    i {
     -webkit-animation: outWall 6s calc(var(--w) * -3.75s) linear infinite;
             animation: outWall 6s calc(var(--w) * -3.75s) linear infinite;
    }
  }
}

@-webkit-keyframes mainWall {
  to { rotate: 360deg; }
}

@keyframes mainWall {
  to { rotate: 360deg; }
}

@-webkit-keyframes outWall {
  0%, 35%, 100% {
    opacity: 0.05;
    transform: translateZ(0);
  }
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0