html--飞机坦克大战

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <style>
  :root {
  --acceleration-default: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --acceleration-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --border-circular: 50%;
  --border-mid: 33%;
  --border-soft: 5%;
  --border-irregular: 33% 33% 5% 5%;
  --color-dark-100: #6b6d6f;
  --color-dark-80: #909294;
  --color-dark-60: #818386;
  --color-dark-40: #8d949a;
  --color-dark-20: #282828;
  --color-bright-100: #dfecf9;
  --color-bright-67: #c5d3e0;
  --color-bright-33: #adbac5;
  --color-accent: #ff8800;
  --color-accent-fade: linear-gradient(
    to top,
    rgba(255, 172, 76, 0) 0%,
    rgba(255, 172, 76, 1) 100%
  );
  --perspective: rotateX(47deg) rotateY(0deg) rotateZ(45deg);
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body{
  background: var(--color-dark-20);
  overflow-x: hidden;
  width: 100vw;
  height: 100vh;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.scene {
  background: var(--color-dark-80);
  width: 800px;
  height: 600px;
  -webkit-animation: animRevealScene ease-in 1s 1;
          animation: animRevealScene ease-in 1s 1;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  border-radius: 3px;
}

.inner-scene {
  -webkit-transform: var(--perspective);
          transform: var(--perspective);
  width: 100%;
  height: 120%;
  margin: 0 auto;
  max-width: 100%;
  max-width: 400px;
  max-height: 600px;
}

.track {
  position: absolute;
  height: 200%;
  width: 60%;
  left: 35%;
  top: -50%;
  outline: 1px solid transparent;
  -webkit-animation: animFakeParallax 3s linear infinite;
          animation: animFakeParallax 3s linear infinite;
  background: var(--color-dark-100);
}

.track:after {
  content: "";
  display: block;
  width: 70%;
  margin-left: -70%;
  height: 100%;
  background: var(--color-dark-60);
}

.track:nth-of-type(2) {
  top: calc(-250% + 2px);
}

.item {
  position: absolute;
  left: calc(50% - var(--item-half-width));
  top: calc(50% - var(--item-half-height));
}

.item:before,
.item:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  --item-half-width: 50%;
  --item-half-height: 50%;
  outline: 1px solid transparent;
}

.x-wing {
  width: 25px;
  height: 260px;
  --item-half-width: 30px;
  --item-half-height: 25%;
  border-radius: var(--border-irregular);
  background: var(--color-bright-67);
  top: 70%;
  -webkit-animation: animShake 2.5s var(--acceleration-bounce) infinite alternate;
          animation: animShake 2.5s var(--acceleration-bounce) infinite alternate;
  outline: 1px solid transparent;
}

.x-wing:before {
  background: var(--color-bright-100);
  width: 100%;
  height: 40%;
  bottom: 25%;
  border-radius: var(--border-irregular);
  -webkit-transform: scale3d(0.5, 0.4, 1);
          transform: scale3d(0.5, 0.4, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.x-left,
.x-right {
  width: 300%;
  height: 33%;
  left: -300%;
  top: 66%;
}

.x-right {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  left: 100%;
}

.pipe {
  width: 10%;
  height: 50%;
  left: -43%;
  top: 15%;
  background: var(--color-bright-67);
}

.pipe:before {
  width: 50%;
  height: 150%;
  left: 25%;
  top: -150%;
  background: var(--color-bright-33);
}

.pipe:after {
  width: 100%;
  height: 30%;
  left: 0%;
  top: -180%;
  background: var(--color-bright-67);
}

.engine {
  left: 80%;
  top: 0;
  -webkit-transform: rotateZ(180deg) scale(1.5, 0.6);
          transform: rotateZ(180deg) scale(1.5, 0.6);
}

.engine:after {
  -webkit-transform: scaleY(2);
          transform: scaleY(2);
}

.wing {
  width: 100%;
  height: 33%;
  left: -33%;
  bottom: 0;
  background: var(--color-bright-100);
}

.wing:before {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
  -webkit-transform-origin: top;
          transform-origin: top;
  background: var(--color-accent);
}

.wing:after {
  width: 100%;
  height: 80%;
  background: var(--color-bright-100);
  bottom: -20%;
  -webkit-transform: skewY(10deg);
          transform: skewY(10deg);
}

.x-left.shadow {
  -webkit-transform: translate3d(20px, 20px, 0) skewY(-30deg);
          transform: translate3d(20px, 20px, 0) skewY(-30deg);
  opacity: 0.7;
}

.x-right.shadow {
  -webkit-transform: scaleX(-1.2) translate3d(-20px, 20px, 0) skewY(-10deg);
          transform: scaleX(-1.2) translate3d(-20px, 20px, 0) skewY(-10deg);
  opacity: 0.7;
}

.shadow .wing:before {
  display: none;
}

.defense {
  width: 90px;
  height: 90px;
  --item-half-width: 12.5%;
  --item-half-height: 12.5%;
  left: 10%;
  border-radius: var(--border-circular);
  background: var(--color-dark-40);
  -webkit-transform: rotateZ(180deg) translateY(50%);
          transform: rotateZ(180deg) translateY(50%);
  -webkit-animation: animRotate 2s var(--acceleration-default) infinite alternate;
          animation: animRotate 2s var(--acceleration-default) infinite alternate;
}

.defense:nth-of-type(2) {
  left: auto;
  right: 10%;
  top: 90%;
  -webkit-animation: none;
          animation: none;
  border-radius: var(--border-soft);
}

.defense:before,
.defense:after {
  background: var(--color-bright-33);
  width: 100%;
  height: 100%;
  bottom: -20%;
  left: 5%;
  border-radius: var(--border-irregular);
  -webkit-transform: scale(0.6, 0.7) skewX(-5deg);
          transform: scale(0.6, 0.7) skewX(-5deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  z-index: 1;
}

.defense:after {
  -webkit-transform: scale(0.15, 0.5) skewX(-5deg);
          transform: scale(0.15, 0.5) skewX(-5deg);
  left: 40%;
  border-radius: var(--border-soft);
  background: var(--color-bright-67);
}

.defense .cannon {
  left: 45%;
  top: 0;
  -webkit-transform: scale(0.8, 0.6) skewX(0deg);
          transform: scale(0.8, 0.6) skewX(0deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-animation: animDefenseCannon 1.5s var(--acceleration-bounce) infinite;
          animation: animDefenseCannon 1.5s var(--acceleration-bounce) infinite;
}

.defense .cannon:nth-of-type(2) {
  left: auto;
  right: 25%;
  -webkit-animation-delay: 200ms;
          animation-delay: 200ms;
}

.defense:nth-of-type(2):before {
  border-radius: var(--border-soft);
}

.laser {
  width: 10%;
  height: 50%;
  --item-half-width: 5%;
  --item-half-height: 25%;
  
}

.laser:before,
.laser:after {
  background: var(--color-accent-fade);
  width: 50%;
  height: 100%;
  bottom: 200%;
  left: 100%;
  -webkit-animation: animLaser 1.5s var(--acceleration-default) infinite;
          animation: animLaser 1.5s var(--acceleration-default) infinite;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}

.laser:before {
  -webkit-animation-delay: 200ms;
          animation-delay: 200ms;
}

.laser:after {
  left: 275%;
  -webkit-animation-delay: 400ms;
          animation-delay: 400ms;
}

@-webkit-keyframes animFakeParallax {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}

@keyframes animFakeParallax {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}

@-webkit-keyframes animShake {
  0%,
  5% {
    -webkit-transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
            transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
  }
  45%,
  50% {
    -webkit-transform: scale(0.7) translate3d(200%, 10%, 0) skewY(2deg);
            transform: scale(0.7) translate3d(200%, 10%, 0) skewY(2deg);
  }
  100% {
    -webkit-transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
            transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
  }
}

@keyframes animShake {
  0%,
  5% {
    -webkit-transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
            transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
  }
  45%,
  50% {
    -webkit-transform: scale(0.7) translate3d(200%, 10%, 0) skewY(2deg);
            transform: scale(0.7) translate3d(200%, 10%, 0) skewY(2deg);
  }
  100% {
    -webkit-transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
            transform: scale(0.7) translate3d(0, 0%, 0) skewY(-2deg);
  }
}

@-webkit-keyframes animRevealScene {
  0% {
    opacity: 0.21;
  }
  100% {
    opacity: 1;
  }
}

@keyframes animRevealScene {
  0% {
    opacity: 0.21;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes animDefenseCannon {
  0% {
    -webkit-transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
            transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
  }
  50% {
    -webkit-transform: scale(0.8, 0.6) skewX(-3deg) translateY(20px);
            transform: scale(0.8, 0.6) skewX(-3deg) translateY(20px);
  }
  80%,
  100% {
    -webkit-transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
            transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
  }
}

@keyframes animDefenseCannon {
  0% {
    -webkit-transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
            transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
  }
  50% {
    -webkit-transform: scale(0.8, 0.6) skewX(-3deg) translateY(20px);
            transform: scale(0.8, 0.6) skewX(-3deg) translateY(20px);
  }
  80%,
  100% {
    -webkit-transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
            transform: scale(0.8, 0.6) skewX(-3deg) translateY(5px);
  }
}

@-webkit-keyframes animLaser {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0) translate3d(0, 20px, 0) rotate(0.02deg);
            transform: scaleY(0) translate3d(0, 20px, 0) rotate(0.02deg);
  }
  35% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
    -webkit-transform: scaleY(1.5) translate3d(0, -200px, 0) rotate(0.02deg);
            transform: scaleY(1.5) translate3d(0, -200px, 0) rotate(0.02deg);
  }
}

@keyframes animLaser {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0) translate3d(0, 20px, 0) rotate(0.02deg);
            transform: scaleY(0) translate3d(0, 20px, 0) rotate(0.02deg);
  }
  35% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
    -webkit-transform: scaleY(1.5) translate3d(0, -200px, 0) rotate(0.02deg);
            transform: scaleY(1.5) translate3d(0, -200px, 0) rotate(0.02deg);
  }
}

@-webkit-keyframes animRotate {
  0% {
    -webkit-transform: rotateZ(165deg) translateY(50%);
            transform: rotateZ(165deg) translateY(50%);
  }
  100% {
    -webkit-transform: rotateZ(175deg) translateY(50%);
            transform: rotateZ(175deg) translateY(50%);
  }
}

@keyframes animRotate {
  0% {
    -webkit-transform: rotateZ(165deg) translateY(50%);
            transform: rotateZ(165deg) translateY(50%);
  }
  100% {
    -webkit-transform: rotateZ(175deg) translateY(50%);
            transform: rotateZ(175deg) translateY(50%);
  }
}
  </style>
 </HEAD>

 <BODY>
 <div class="scene">
  <div class="inner-scene">
     <div class="track">
      <div class="item defense">
          <div class="item laser"></div>
          <div class="item pipe cannon"></div>
          <div class="item pipe cannon"></div> 
      </div>
       <div class="item defense">
          <div class="item laser"></div>
          <div class="item pipe cannon"></div>
          <div class="item pipe cannon"></div>
      </div>
    </div>
    <div class="track">
      <div class="item defense">
          <div class="item laser"></div>
          <div class="item pipe cannon"></div>
          <div class="item pipe cannon"></div>
      </div>
      <div class="item defense">
           <div class="item laser"></div>
          <div class="item pipe cannon"></div>
          <div class="item pipe cannon"></div>
      </div>
    </div>
    <div class="item x-wing">
      <div class="item x-left shadow">
        <div class="item pipe cannon"></div>
        <div class="item wing"></div>
      </div>
      <div class="item x-left">
        <div class="item pipe cannon"></div>
        <div class="item wing"></div>
        <div class="item pipe engine"></div>
      </div>
      <div class="item x-right shadow">
        <div class="item pipe cannon"></div>
        <div class="item wing"></div>
      </div>
      <div class="item x-right">
        <div class="item pipe cannon"></div>
        <div class="item wing"></div>
        <div class="item pipe engine"></div>
      </div>
    </div>
  </div>
</div>

  <script></script>
 </BODY>
</HTML>

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fo安方

觉得俺的文章还行,感谢打赏,爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值