css布局实现公路飞机飞行动画效果代码

代码语言:html

所属分类:动画

代码描述:css布局实现公路飞机飞行动画效果代码

代码标签: 公路 飞机 飞行 动画 效果

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

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

<head>

  <meta charset="UTF-8">

  
  
<style>
body {
  overflow: hidden;
  margin: 0;
  height: 100vh;
  width: 100vw;
  perspective: 1400px;
  background: #EBF5FB;
}
body div {
  transform-style: preserve-3d;
  position: absolute;
}
.camera {
  height: 100%;
  width: 100%;
  transform-origin: center;
  transform: translateY(10vmin) rotateX(75deg) rotateZ(10deg) translateZ(-5vmin) translateY(-60vmin);
}
.pseudo {
  content: '';
  position: absolute;
}
.cessna {
  offset-path: path('M 0 0 L 0 -900 A 9 9 90 0 1 900 -900 a 450 450 90 0 1 -450 450 L -450 -450 A 9 9 90 0 0 -450 450 a 450 450 90 0 0 450 -450');
  top: 50%;
  left: 50%;
  transform: rotateX(-90deg);
  animation: move 8s infinite linear;
}
@keyframes move {
  0% {
    offset-distance: 0%;
    transform: rotateX(-90deg);
  }
  5% {
    offset-distance: 5%;
    transform: rotateX(-90deg);
  }
  10% {
    offset-distance: 10%;
    transform: rotateX(-90deg);
  }
  15% {
    offset-distance: 15%;
    transform: rotateX(-90deg);
  }
  20% {
    offset-distance: 20%;
    transform: rotateX(-135deg);
  }
  25% {
    offset-distance: 25%;
    transform: rotateX(-160deg);
  }
  30% {
    offset-distance: 30%;
    transform: rotateX(-160deg);
  }
  35% {
    offset-distance: 35%;
    transform: rotateX(-160deg);
  }
  40% {
    offset-distance: 40%;
    transform: rotateX(-160deg);
  }
  45% {
    offset-distance: 45%;
    transform: rotateX(-135deg);
  }
  50% {
    offset-distance: 50%;
    transform: rotateX(-90deg) translateY(-15vmin) rotateZ(-10deg);
  }
  55% {
    offset-distance: 55%;
    transform: rotateX(-90deg) translateY(-15vmin) rotateZ(-10deg);
  }
  60% {
    offset-distance: 60%;
    transform: rotateX(-90deg) translateY(-15vmin);
  }
  65% {
    offset-distance: 65%;
    transform: rotateX(-45deg) translateY(-15vmin);
  }
  70% {
    offset-distance: 70%;
    transform: rotateX(-20deg) translateY(-15vmin);
  }
  75% {
    offset-distance: 75%;
    transform: rotateX(-20deg) translateY(-15vmin);
  }
  80% {
    offset-distance: 80%;
    transform: rotateX(-20deg) translateY(-15vmin);
  }
  85% {
    offset-distance: 85%;
    transform: rotateX(-20deg) translateY(-15vmin);
  }
  90% {
    offset-distance: 90%;
    transform: rotateX(-20deg) translateY(-10vmin);
  }
  95% {
    offset-distance: 95%;
    transform: rotateX(-45deg) translateY(-5vmin);
  }
  100% {
    offset-distance: 100%;
    transform: rotateX(-90deg);
  }
}
@media (min-width: 992px) {
  .cessna {
    offset-path: path('M 0 0 L 0 -1200 A 12 12 90 0 1 1200 -1200 a 600 600 90 0 1 -600 600 L -600 -600 A 12 12 90 0 0 -600 600 a 600 600 90 0 0 600 -600');
  }
}
@keyframes left-flap-inner {
  0% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  5% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  10% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  15% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  20% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(45deg);
  }
  25% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  30% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  35% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  40% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  45% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(45deg);
  }
  50% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  55% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  60% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  65% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-45deg);
  }
  70% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  75% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  80% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  85% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  90% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  95% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-45deg);
  }
  100% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
}
@keyframes left-flap-outer {
  0% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(0);
  }
  5% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(0);
  }
  10% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(0);
  }
  15% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(0);
  }
  20% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(20deg);
  }
  25% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(45deg);
  }
  30% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(45deg);
  }
  35% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(45deg);
  }
  40% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(45deg);
  }
  45% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(20deg);
  }
  50% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(45deg);
  }
  55% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(45deg);
  }
  60% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(0);
  }
  65% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(-20deg);
  }
  70% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(-45deg);
  }
  75% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(-45deg);
  }
  80% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(-45deg);
  }
  85% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(-45deg);
  }
  90% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(-45deg);
  }
  95% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(-20deg);
  }
  100% {
    transform: translate3d(1.77667vmin, -6.8vmin, -25.5vmin) rotateX(-90deg) skewX(7.66965542deg) rotateY(0);
  }
}
@keyframes right-flap-inner {
  0% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  5% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  10% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  15% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  20% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-45deg);
  }
  25% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  30% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  35% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  40% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-60deg);
  }
  45% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(-45deg);
  }
  50% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  55% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  60% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
  65% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(45deg);
  }
  70% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  75% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  80% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  85% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  90% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(60deg);
  }
  95% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(45deg);
  }
  100% {
    transform: translate3d(1.77667vmin, -6.8vmin, -5.525vmin) rotateX(-90deg) rotateY(0);
  }
}
@keyframes right-flap-out.........完整代码请登录后点击上方下载按钮下载查看

网友评论0