div+css实现一个可旋转三维宇宙飞船效果代码

代码语言:html

所属分类:三维

代码描述:div+css实现一个可旋转三维宇宙飞船效果代码

代码标签: css 宇宙 飞船 三维

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

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">



    <style>
        /***********************/
        /***********************/
        /***********************/
        *,
        *::after,
        *::before {
          margin: 0;
          padding: 0;
          box-sizing: border-box;
          transform-style: preserve-3d;
          user-select: none;
          -webkit-tap-highlight-color: transparent;
          appearance: none;
          font-family: "Press Start 2P", cursive;
        }
        
        /***********************/
        /***********************/
        body {
          display: flex;
          justify-content: center;
          align-items: center;
          height: 100vh;
          width: 100%;
          color: #1d88fe;
          font-weight: bolder;
          overflow: hidden;
          cursor: pointer;
          background-image: linear-gradient(to bottom, #1672da, #078dfd, #07b1ff, #00a2ed);
        }
        
        .face {
          position: absolute;
        }
        
        .flex {
          display: flex;
          justify-content: center;
          align-items: center;
        }
        
        /***********************/
        /***********************/
        .main {
          position: absolute;
          width: 48vmin;
          height: 50vmin;
          transform: perspective(600vmin) rotateX(60deg) rotateZ(30deg) translateZ(-16vmin);
          transition: transform 550ms ease-out;
        }
        
        .wrapper-c1,
        .wrapper-c2 {
          width: 100%;
          height: 100%;
          position: absolute;
        }
        
        .wrapper-c1 {
          animation: wrapper-c1 1500ms linear infinite;
        }
        
        .wrapper-c2 {
          animation: wrapper-c2 1500ms linear infinite;
        }
        
        @keyframes wrapper-c1 {
          0%, 10%, 90%, 100% {
            transform: translateZ(1vmin);
          }
          45%, 55% {
            transform: translateZ(4.5vmin);
          }
        }
        @keyframes wrapper-c2 {
          0%, 50%, 100% {
            transform: rotateX(0) rotateY(0);
          }
          25% {
            transform: rotateX(-4deg) rotateY(2deg);
          }
          75% {
            transform: rotateX(6deg) rotateY(0);
          }
        }
        .wrapper-a {
          position: absolute;
          width: 100%;
          height: 100%;
          transform: translateZ(2vmin);
        }
        
        .wrapper-b {
          position: absolute;
          left: 50%;
          width: 19vmin;
          height: 100%;
          transform: translateX(-50%) translateZ(4vmin);
        }
        
        .shadows {
          position: absolute;
          width: 100%;
          height: 100%;
          animation: shadow 1500ms linear infinite;
        }
        
        @keyframes shadow {
          0%, 10%, 90%, 100% {
            opacity: 1;
            transform: scale(1);
            filter: blur(1.7vmin);
          }
          45%, 55% {
            opacity: 0.75;
            transform: scale(0.935);
            filter: blur(2vmin);
          }
        }
        .shadow {
          position: absolute;
          top: 0;
          border-radius: 4vmin;
          box-shadow: 0 0 4vmin #296ff0;
          background-image: radial-gradient(rgba(4, 42, 112, 0.8) 40%, rgba(14, 79, 201, 0.8) 70%);
        }
        
        .shadow-1,
        .shadow-2 {
          width: 16vmin;
          height: 34vmin;
        }
        
        .shadow-1 {
          left: -1vmin;
        }
        
        .shadow-2 {
          right: -1vmin;
        }
        
        .shadow-3 {
          top: 8vmin;
          left: 50%;
          width: 22vmin;
          height: 40vmin;
          transform: translateX(-50%);
        }
        
        .shadow-4 {
          top: 8vmin;
          width: 100%;
          height: 24vmin;
        }
        
        .shadow-5 {
          top: 10vmin;
          left: -15%;
          width: 130%;
          height: 8vmin;
        }
        
        .light-1,
        .light-2,
        .light-3,
        .light-4 {
          top: 28vmin;
          width: 10vmin;
          height: 48vmin;
          border-radius: 50%;
          box-shadow: 0 0 1vmin #9effff;
          background-image: linear-gradient(to bottom, rgba(107, 255, 255, 0.185), rgba(107, 255, 255, 0.4) 20%, rgba(107, 255, 255, 0.25) 60%, rgba(107, 255, 255, 0.05));
        }
        
        .light-1 {
          left: 0;
        }
        
        .light-2 {
          right: 0;
        }
        
        .light-3,
        .light-4 {
          top: -20vmin;
          width: 14vmin;
          height: 32vmin;
          animation: light 94ms linear alternate infinite;
        }
        
        .light-3 {
          left: 0;
        }
        
        .light-4 {
          right: 0;
        }
        
        @keyframes light {
          to {
            height: 30vmin;
            transform: translateY(2vmin);
          }
        }
        .wave {
          position: absolute;
          border-radius: 50%;
          animation: wave-size 500ms linear infinite, wave-t 500ms linear infinite;
        }
        .wave-2 {
          animation-delay: 100ms;
        }
        .wave-3 {
          animation-delay: 200ms;
        }
        .wave-4 {
          animation-delay: 300ms;
        }
        .wave-4 {
          animation-delay: 400ms;
        }
        
        @keyframes wave-size {
          0% {
            width: 4vmin;
            height: 4vmin;
            border: 0.2vmin solid rgba(107, 255, 255, 0);
          }
          50% {
            border: 0.6vmin solid rgba(107, 255, 255, 0.25);
          }
          75% {
            border: 0.6vmin solid rgba(255, 255, 255, 0.25);
          }
          100% {
            width: 20vmin;
            height: 20vmin;
            border: 0.8vmin solid rgba(255, 255, 255, 0);
          }
        }
        @keyframes wave-t {
          0% {
            transform: translateZ(0);
          }
          100% {
            transform: translateZ(28vmin);
          }
        }
        .a {
          width: 14vmin;
          height: 32vmin;
          position: absolute;
        }
        .a__front {
          width: 14vmin;
          height: 14vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(18vmin);
        }
        .a__back {
          width: 14vmin;
          height: 14vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-14vmin) translateY(-14vmin);
        }
        .a__right {
          width: 32vmin;
          height: 14vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(14vmin) translateX(-32vmin) translateY(-14vmin);
        }
        .a__left {
          width: 32vmin;
          height: 14vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-14vmin);
        }
        .a__top {
          width: 14vmin;
          height: 32vmin;
          transform-origin: top left;
          transform: translateZ(14vmin);
        }
        .a__bottom {
          width: 14vmin;
          height: 32vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-14vmin);
        }
        .a__front, .a__back {
          background-position: 0 0, 0 100%, 100% 0, 100% 100%, 49% 0;
          background-size: 10% 50%, 10% 50%, 10% 50%, 10% 50%, 82% 100%;
          background-repeat: no-repeat;
        }
        .a__back {
          box-shadow: inset 0 0 0 0.5vmin #6bffff;
          border-radius: 2.3vmin;
        }
        .a__top::before, .a__top::after, .a__bottom::before, .a__bottom::after {
          content: "";
          position: absolute;
          width: 2.2vmin;
          height: 100%;
        }
        .a__top::before, .a__bottom::before {
          left: 89%;
          transform-origin: left;
          transform: rotateY(45deg);
        }
        .a__top::after, .a__bottom::after {
          right: 89%;
          transform-origin: right;
          transform: rotateY(-45deg);
        }
        .a__bottom {
          background-image: linear-gradient(to right, transparent 10%, #0f55d7 10%, #0e4dc4 90%, transparent 90%);
        }
        .a:nth-of-type(1) {
          left: 0;
        }
        .a:nth-of-type(1) .a__front {
          background-image: linear-gradient(-45deg, #27a2fe 4.825vmin, transparent 4.825vmin), linear-gradient(45deg, transparent 1.05vmin, #016ee7 1.05vmin, #27a2fe), linear-gradient(45deg, #27a2fe 4.825vmin, transparent 4.825vmin), linear-gradient(-45deg, transparent 1.05vmin, #016ee7 1.05vmin, #27a2fe), linear-gradient(to bottom, #27a2fe 50%, #016ee7);
        }
        .a:nth-of-type(1) .a__back {
          background-image: linear-gradient(-45deg, #1d88fe 4.825vmin, transparent 4.825vmin), linear-gradient(45deg, transparent 1.05vmin, #047bfe 1.05vmin, #1d88fe), linear-gradient(45deg, #1d88fe 4.825vmin, transparent 4.825vmin), linear-gradient(-45deg, transparent 1.05vmin, #047bfe 1.05vmin, #1d88fe), linear-gradient(to bottom, #1d88fe 50%, #047bfe);
        }
        .a:nth-of-type(1) .a__top {
          background-image: linear-gradient(to right, transparent 10%, #46cdfe 10%, #1ec3fe 90%, transparent 90%);
        }
        .a:nth-of-type(1) .a__top::before {
          background-color: #2ca4fe;
        }
        .a:nth-of-type(1) .a__top::after {
          background-color: #4bcffe;
        }
        .a:nth-of-type(1) .a__top-shadow {
          top: 5.5vmin;
          right: 2vmin;
          width: 6vmin;
          height: 18vmin;
          transform-origin: bottom right;
          transform: skewY(-40deg) translateZ(1px);
          background-image: linear-gradient(to left, rgba(50, 200, 254, 0.6), rgba(107, 255, 255, 0.4), rgba(107, 255, 255, 0.2));
          filter: blur(0.9vmin);
        }
        .a:nth-of-type(1) .a__top-neon {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          width: 1vmin;
          height: 100%;
          background-color: #85ffff;
          box-shadow: inset 0 0 0.3vmin #042f7f;
        }
        .a:nth-of-type(1) .a__right {
          background-image: linear-gradient(to bottom, transparent 10%, #016ee7 10%, #0160c9 90%, transparent 90%);
        }
        .a:nth-of-type(1) .a__left {
          background-image: linear-gradient(to bottom, transparent 10%, #41ccfe 10%, #14c0fe 90%, transparent 90%);
        }
        .a:nth-of-type(1) .a__left::before {
          content: "";
          position: absolute;
          bottom: 10%;
          right: 14vmin;
          width: 8vmin;
          height: 5vmin;
          transform-origin: top left;
          transform: skewX(20deg);
          background-image: linear-gradient(to bottom, #1d9efe, rgba(39, 162, 254, 0.2));
          filter: blur(0.3vmin);
        }
        .a:nth-of-type(1) .a__bottom::before {
          background-color: #1d88fe;
        }
        .a:nth-of-type(1) .a__bottom::after {
          background-color: #0f55d7;
        }
        .a:nth-of-type(2) {
          right: 0;
        }
        .a:nth-of-type(2) .a__front {
          background-image: linear-gradient(-45deg, #0995fe 4.825vmin, transparent 4.825vmin), linear-gradient(45deg, transparent 1.05vmin, #0165d3 1.05vmin, #27a2fe), linear-gradient(45deg, #0995fe 4.825vmin, transparent 4.825vmin), linear-gradient(-45deg, transparent 1.05vmin, #0165d3 1.05vmin, #0995fe), linear-gradient(to bottom, #0995fe 50%, #0165d3);
        }
        .a:nth-of-type(2) .a__back {
          background-image: linear-gradient(-45deg, #0e80fe 4.825vmin, transparent 4.825vmin), linear-gradient(45deg, transparent 1.05vmin, #0178fb 1.05vmin, #1d88fe), linear-gradient(45deg, #0e80fe 4.825vmin, transparent 4.825vmin), linear-gradient(-45deg, transparent 1.05vmin, #0178fb 1.05vmin, #1d88fe), linear-gradient(to bottom, #0e80fe 50%, #0178fb);
        }
        .a:nth-of-type(2) .a__top {
          background-image: linear-gradient(60deg, rgba(39, 162, 254, 0.8), rgba(39, 162, 254, 0.45) 48%, transparent 50%), linear-gradient(to right, transparent 10%, #32c8fe 10%, #1ec3fe 90%, transparent 90%);
          background-size: 80% 100%, 100% 100%;
          background-position: 52% 0, 0 0;
          background-repeat: no-repeat;
        }
        .a:nth-of-type(2) .a__top::before {
          background-image: linear-gradient(to right, #27a2fe, #1d88fe);
        }
        .a:nth-of-type(2) .a__top::after {
          background-image: linear-gradient(to left, #19c1fe, #1d88fe);
        }
        .a:nth-of-type(2) .a__top-shadow {
          top: 5.5vmin;
          left: 3vmin;
          width: 6vmin;
          height: 18vmin;
          transform-origin: bottom left;
          transform: skewY(40deg) translateZ(1px);
          background-image: linear-gradient(to right, rgba(107, 255, 255, 0.1), rgba(107, 255, 255, 0.315), rgba(107, 255, 255, 0.215));
          filter: blur(1vmin);
        }
        .a:nth-of-type(2) .a__top-neon {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          width: 1vmin;
          height: 100%;
          background-color: #6bffff;
          box-shadow: inset 0 0 0.3vmin #042f7f;
        }
        .a:nth-of-type(2) .a__right {
          background-image: linear-gradient(to bottom, transparent 10%, #0e80fe 10%, #0167d8 90%, transparent 90%);
        }
        .a:nth-of-type(2) .a__right::before {
          content: "";
          position: absolute;
          bottom: 10%;
          left: 14vmin;
          width: 8vmin;
          height: 5vmin;
          transform-origin: top left;
          transform: skewX(-20deg);
          background-image: linear-gradient(to bottom, rgba(15, 85, 215, 0.9), rgba(15, 85, 215, 0.2));
          filter: blur(0.3vmin);
        }
        .a:nth-of-type(2) .a__left {
          background-image: linear-gradient(to bottom, transparent 10%, #1383fe 10%, #0162ce 90%, transparent 90%);
        }
        .a:nth-of-type(2) .a__bottom::before {
          background-color: #0f55d7;
        }
        .a:nth-of-type(2) .a__bottom::after {
          background-color: #0f55d7;
        }
        
        .b {
          width: 19vmin;
          height: 20vmin;
          position: absolute;
          top: 4.2vmin;
        }
        .b__front {
          width: 19vmin;
          height: 20vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(0vmin);
        }
        .b__back {
          width: 19vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-19vmin) translateY(-20vmin);
        }
        .b__right {
          width: 20vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(19vmin) translateX(-20vmin) translateY(-20vmin);
        }
        .b__left {
          width: 20vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-20vmin);
        }
        .b__top {
          width: 19vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: translateZ(20vmin);
        }
        .b__bottom {
          width: 19vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-19vmin);
        }
        .b__front {
          background-color: #042f7f;
        }
        .b__back {
          background-image: linear-gradient(to bottom, #3193fe, #1d88fe 20%, #016add);
        }
        .b__back::before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          padding: 1.5vmin;
          background-image: radial-gradient(rgba(107, 255, 255, 0.2) 20%, transparent 21%), radial-gradient(rgba(107, 255, 255, 0.2) 20%, transparent 21%);
          background-size: 1.5vmin 1.5vmin;
          background-repeat: repeat;
          background-clip: content-box;
        }
        .b__left, .b__right {
          padding: 1.2vmin;
        }
        .b__left::before, .b__right::before {
          content: "";
          display: block;
          width: 100%;
          height: 4vmin;
        }
        .b__left {
          background-image: linear-gradient(to bottom, #46cdfe, #32c8fe 30%, #0f55d7);
        }
        .b__left::before {
          background-image: linear-gradient(to bottom, #85ffff, #6bffff);
          box-shadow: 0 0 1.9vmin #85ffff, inset 0 0 1vmin #85ffff;
        }
        .b__right {
          background-image: linear-gradient(to bottom, #1d88fe, #047bfe 30%, #0156b4);
        }
        .b__right::before {
          background-image: linear-gradient(to top, #52ffff, #6bffff);
          box-shadow: 0 0 1.9vmin #52ffff, inset 0 0 1vmin #38ffff;
        }
        .b__top {
          background-image: linear-gradient(to right, #2dc7fe, #01b9fc);
        }
        .b__bottom {
          background-color: #0f55d7;
        }
        
        .c {
          width: 19vmin;
          height: 10vmin;
          position: absolute;
          top: 24.5vmin;
        }
        .c__front {
          width: 19vmin;
          height: 20vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(-10vmin);
        }
        .c__back {
          width: 19vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-19vmin) translateY(-20vmin);
        }
        .c__right {
          width: 10vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(19vmin) translateX(-10vmin) translateY(-20vmin);
        }
        .c__left {
          width: 10vmin;
          height: 20vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-20vmin);
        }
        .c__top {
          width: 19vmin;
          height: 10vmin;
          transform-origin: top left;
          transform: translateZ(20vmin);
        }
        .c__bottom {
          width: 19vmin;
          height: 10vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-19vmin);
        }
        .c__front {
          background-color: #27a2fe;
        }
        .c__front-l {
          position: absolute;
          top: 0;
          width: 100%;
          height: 100%;
          background-image: linear-gradient(to bottom, transparent 15%, rgba(107, 255, 255, 0.3) 15%, rgba(107, 255, 255, 0.4));
        }
        .c__back {
          background-color: #042f7f;
        }
        .c__left {
          background-image: linear-gradient(to bottom, #46cdfe, #32c8fe 30%, #0f55d7);
        }
        .c__right {
          background-image: linear-gradient(to bottom, #1d88fe, #047bfe 30%, #0156b4);
        }
        .c__top {
          background-image: linear-gradient(to right, #2dc7fe, #01b9fc);
        }
        .c__bottom {
          background-color: #0f55d7;
        }
        
        .d {
          width: 19vmin;
          height: 11.5vmin;
          position: absolute;
          bottom: 4vmin;
        }
        .d__front {
          width: 19vmin;
          height: 1.2vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(10.3vmin);
        }
        .d__back {
          width: 19vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-19vmin) translateY(-1.2vmin);
        }
        .d__right {
          width: 11.5vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(19vmin) translateX(-11.5vmin) translateY(-1.2vmin);
        }
        .d__left {
          width: 11.5vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-1.2vmin);
        }
        .d__top {
          width: 19vmin;
          height: 11.5vmin;
          transform-origin: top left;
          transform: translateZ(1.2vmin);
        }
        .d__bottom {
          width: 19vmin;
          height: 11.5vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-19vmin);
        }
        .d__left {
          background-image: linear-gradient(to right, #047bfe, #32c8fe);
        }
        .d__right {
          background-image: linear-gradient(to left, #016ee7, #1d88fe);
        }
        .d__top {
          background-image: linear-gradient(to bottom, #0165d3, #0173f1 40%, #0e80fe);
        }
        .d__top-l {
          position: absolute;
          top: 0;
          width: 100%;
          height: 100%;
          background-image: linear-gradient(to right, rgba(107, 255, 255, 0.3), rgba(107, 255, 255, 0.4));
        }
        .d__bottom {
          background-color: #0f55d7;
        }
        
        @keyframes text {
          0%, 82%, 89%, 94% {
            opacity: 0;
          }
          83%, 88%, 95%, 100% {
            opacity: 1;
          }
        }
        .e {
          width: 19vmin;
          height: 1.2vmin;
          position: absolute;
          bottom: 2.8vmin;
        }
        .e__front {
          width: 19vmin;
          height: 17vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(-15.8vmin);
        }
        .e__back {
          width: 19vmin;
          height: 17vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-19vmin) translateY(-17vmin);
        }
        .e__right {
          width: 1.2vmin;
          height: 17vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(19vmin) translateX(-1.2vmin) translateY(-17vmin);
        }
        .e__left {
          width: 1.2vmin;
          height: 17vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-17vmin);
        }
        .e__top {
          width: 19vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: translateZ(17vmin);
        }
        .e__bottom {
          width: 19vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-19vmin);
        }
        .e__front {
          background-color: #27a2fe;
          padding: 1.2vmin;
        }
        .e__front-i {
          width: 100%;
          height: 4vmin;
          background-image: linear-gradient(to bottom, #6bffff, #61ffff);
          box-shadow: 0 0 1.9vmin #52ffff, inset 0 0 0.5vmin #38ffff;
          overflow: hidden;
        }
        .e__front-i::before {
          content: "";
          position: absolute;
          width: 6vmin;
          height: 100%;
          left: 0;
          transform-origin: top left;
          transform: skewX(20deg);
          background-image: linear-gradient(to right, rgba(107, 255, 255, 0.075), transparent);
          filter: blur(0.4vmin);
        }
        .e__front-t {
          position: absolute;
          width: 100%;
          height: 100%;
          animation: text linear 6000ms infinite;
          font-size: 2vmin;
        }
        .e__back {
          background-color: #32c8fe;
        }
        .e__left {
          background-image: linear-gradient(to bottom, #46cdfe, #32c8fe);
        }
        .e__right {
          background-color: #1d88fe;
        }
        .e__bottom {
          background-color: #0f55d7;
        }
        
        .f {
          width: 19vmin;
          height: 12.6vmin;
          position: absolute;
          bottom: 3vmin;
          transform: translateZ(17vmin);
        }
        .f__front {
          width: 19vmin;
          height: 1.2vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(11.4vmin);
        }
        .f__back {
          width: 19vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-19vmin) translateY(-1.2vmin);
        }
        .f__right {
          width: 12.6vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(19vmin) translateX(-12.6vmin) translateY(-1.2vmin);
        }
        .f__left {
          width: 12.6vmin;
          height: 1.2vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-1.2vmin);
        }
        .f__top {
          width: 19vmin;
          height: 12.6vmin;
          transform-origin: top left;
          transform: translateZ(1.2vmin);
        }
        .f__bottom {
          width: 19vmin;
          height: 12.6vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-19vmin);
        }
        .f__front-i {
          position: absolute;
          bottom: 0;
          width: 100%;
          height: 5.6vmin;
          transform-origin: bottom;
          transform: rotateX(78deg);
          background-image: linear-gradient(to right, #2dc7fe, #01b9fc);
        }
        .f__left {
          background-image: linear-gradient(12deg, #46cdfe 70%, transparent 70%);
        }
        .f__left::before {
          content: "";
          position: absolute;
          top: 100%;
          right: 1vmin;
          width: 40%;
          height: 200%;
          background-image: linear-gradient(12deg, transparent 70%, #4bcffe 70%);
        }
        .f__right {
          background-image: linear-gradient(-12deg, #1d88fe 70%, transparent 70%);
        }
        .f__right::before {
          content: "";
          position: absolute;
          top: 100%;
          left: 1vmin;
          width: 40%;
          height: 200%;
          background-image: linear-gradient(-12deg, transparent 70%, #1d88fe 70%);
        }
        .f__top {
          background-image: linear-gradient(to bottom, #32c8fe 60%, transparent 60%);
        }
        .f__top::after {
          content: "";
          position: absolute;
          top: 0;
          width: 100%;
          height: 60%;
          background-image: linear-gradient(to right, #2dc7fe, #01b9fc);
        }
        .f__bottom {
          background-color: #32c8fe;
        }
        
        .g {
          width: 19vmin;
          height: 2vmin;
          position: absolute;
          bottom: 1vmin;
        }
        .g__front {
          width: 19vmin;
          height: 10vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(-8vmin);
        }
        .g__back {
          width: 19vmin;
          height: 10vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-19vmin) translateY(-10vmin);
        }
        .g__right {
          width: 2vmin;
          height: 10vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(19vmin) translateX(-2vmin) translateY(-10vmin);
        }
        .g__left {
          width: 2vmin;
          height: 10vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-10vmin);
        }
        .g__top {
          width: 19vmin;
          height: 2vmin;
          transform-origin: top left;
          transform: translateZ(10vmin);
        }
        .g__bottom {
          width: 19vmin;
          height: 2vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-19vmin);
        }
        .g__front {
          background-image: linear-gradient(to top, #0e97fe 7.8vmin, transparent 7.8vmin);
        }
        .g__front::before {
          content: "";
          position: absolute;
          bottom: 3.5vmin;
          height: 1vmin;
          width: 100%;
          background-color: #6bffff;
          box-shadow: inset 0 0 0.3vmin #042f7f, 0 0 0.3vmin #6bffff;
        }
        .g__left {
          background-image: linear-gradient(45deg, #32c8fe 7.1vmin, transparent 7.1vmin);
        }
        .g__right {
          background-image: linear-gradient(-45deg, #1d88fe 7.1vmin, transparent 7.1vmin);
        }
        .g__top::before {
          content: "";
          display: block;
          height: 3vmin;
          transform-origin: top left;
          transform: rotateX(-46deg);
          background-image: linear-gradient(to right, #32c8fe, #23c4fe);
        }
        .g__bottom {
          background-color: #0f55d7;
        }
        
        .h {
          width: 0.85vmin;
          height: 25.4vmin;
          position: absolute;
          transform: translateX(-50%) translateZ(20.2vmin);
          left: 50%;
          bottom: 18vmin;
        }
        .h__front {
          width: 0.85vmin;
          height: 2vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(23.4vmin);
        }
        .h__back {
          width: 0.85vmin;
          height: 2vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-0.85vmin) translateY(-2vmin);
        }
        .h__right {
          width: 25.4vmin;
          height: 2vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(0.85vmin) translateX(-25.4vmin) translateY(-2vmin);
        }
        .h__left {
          width: 25.4vmin;
          height: 2vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-2vmin);
        }
        .h__top {
          width: 0.85vmin;
          height: 25.4vmin;
          transform-origin: top left;
          transform: translateZ(2vmin);
        }
        .h__bottom {
          width: 0.85vmin;
          height: 25.4vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-0.85vmin);
        }
        .h__front {
          background-color: #27a2fe;
        }
        .h__back {
          background-image: linear-gradient(to bottom, #1d88fe, #047bfe 80%);
        }
        .h__left {
          background-image: linear-gradient(to bottom, #4bcffe, #3ccbfe);
        }
        .h__right {
          background-image: linear-gradient(to bottom, #1d88fe, #097dfe);
        }
        .h__top {
          background-color: #6bffff;
          box-shadow: 0 0 1vmin #85ffff;
        }
        .h__bottom {
          background-color: #1d88fe;
        }
        .h__bottom::before {
          content: "";
          position: absolute;
          right: 0%;
          width: 4.5vmin;
          height: 100%;
          background-image: linear-gradient(to right, rgba(39, 162, 254, 0.5) 10%, #018af1);
          transform-origin: right bottom;
          transform: skewY(-20deg);
          filter: blur(0.4vmin);
        }
        
        .i {
          width: 18vmin;
          height: 11.4vmin;
          position: absolute;
          bottom: 4vmin;
          left: 0.5vmin;
          transform: translateZ(1.2vmin);
        }
        .i__front {
          width: 18vmin;
          height: 16vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(-4.6vmin);
        }
        .i__back {
          width: 18vmin;
          height: 16vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-18vmin) translateY(-16vmin);
        }
        .i__right {
          width: 11.4vmin;
          height: 16vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(18vmin) translateX(-11.4vmin) translateY(-16vmin);
        }
        .i__left {
          width: 11.4vmin;
          height: 16vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-16vmin);
        }
        .i__top {
          width: 18vmin;
          height: 11.4vmin;
          transform-origin: top left;
          transform: translateZ(16vmin);
        }
        .i__bottom {
          width: 18vmin;
          height: 11.4vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-18vmin);
        }
        .i__left {
          background-image: linear-gradient(to bottom, #85ffff, #6bffff);
          box-shadow: inset 0 0 1vmin #85ffff;
        }
        .i__right {
          background-image: linear-gradient(to top, #38ffff, #6bffff);
          box-shadow: inset 0 0 1vmin #38ffff;
        }
        
        .wing {
          width: 8vmin;
          height: 8vmin;
          position: absolute;
          top: 10vmin;
          transform: translateZ(6vmin);
        }
        .wing__front {
          width: 8vmin;
          height: 1vmin;
          transform-origin: bottom left;
          transform: rotateX(-90deg) translateZ(7vmin);
        }
        .wing__back {
          width: 8vmin;
          height: 1vmin;
          transform-origin: top left;
          transform: rotateX(-90deg) rotateY(180deg) translateX(-8vmin) translateY(-1vmin);
        }
        .wing__right {
          width: 8vmin;
          height: 1vmin;
          transform-origin: top left;
          transform: rotateY(90deg) rotateZ(-90deg) translateZ(8vmin) translateX(-8vmin) translateY(-1vmin);
        }
        .wing__left {
          width: 8vmin;
          height: 1vmin;
          transform-origin: top left;
          transform: rotateY(-90deg) rotateZ(90deg) translateY(-1vmin);
        }
        .wing__top {
          width: 8vmin;
          height: 8vmin;
          transform-origin: top left;
          transform: translateZ(1vmin);
        }
        .wing__bottom {
          width: 8vmin;
          height: 8vmin;
          transform-origin: top left;
          transform: rotateY(180deg) translateX(-8vmin);
        }
        .wing:nth-of-type(1) {
          left: 100%;
        }
        .wing:nth-of-type(1) .wing__front::before {
          content: "";
          position: absolute;
          left: 0;
          width: 145%;
          height: 100%;
          transform-origin: bottom left;
          transform: rotateY(45deg);
          background-image: linear-gradient(to right, #1d88fe, #27a2fe);
        }
        .wing:nth-of-type(1) .wing__back {
          background-image: linear-gradient(to bottom, #1383fe 50%, #016ee7);
        }
        .wing:nth-of-type(1) .wing__left {
          background-image: linear-gradient(to bottom, #46cdfe, #32c8fe);
        }
        .wing:nth-of-type(1) .wing__top {
          background-image: linear-gradient(-45deg, transparent 50%, #32c8fe 50%, #22a0fe);
        }
        .wing:nth-of-type(1) .wing__bottom {
          background-image: linear-gradient(45deg, transparent 50%, #0f55d7 50%);
        }
        .wing:nth-of-type(2) {
          right: 100%;
        }
        .wing:nth-of-type(2) .wing__front::before {
          content: "";
          position: absolute;
          right: 0;
          width: 145%;
          height: 100%;
          transform-origin: bottom right;
          transform: rotateY(-45deg);
          background-image: linear-gradient(to right, #27a2fe, #0e97fe);
        }
        .wing:nth-of-type(2) .wing__back {
          background-image: linear-gradient(to bottom, #1383fe 50%, #016ee7);
        }
        .wing:nth-of-type(2) .wing__right {
          background-image: linear-gradient(to bottom, #1d88fe, #097dfe);
        }
        .wing:nth-of-type(2) .wing__top {
          background-image: linear-gradient(45deg, transparent 50%, #41ccfe 50%, #32c8fe);
        }
        .wing:nth-of-type(2) .wing__bottom {
          background-image: linear-gradient(-45deg, transparent 50%, #0f55d7 50%);
        }
        
        /*---------------------*/
        .turbo {
          position: absolute;
          width: 11vmin;
          height: 11vmin;
        }
        
        .circle {
          width: 11vmin;
          height: 11vmin;
          position: absolute;
        }
        .circle-a {
          position: absolute;
          width: 2vmin;
          height: 11vmin;
          transform: rotateY(90deg) translateX(-50%);
          display: flex;
          justify-content: center;
          align-items: center;
          position: absolute;
        }
        .circle-a__side {
          position: absolute;
          height: 1.0694444444vmin;
          width: 2vmin;
          background-color: black;
        }
        .circle-a__side:nth-of-type(1) {
          transform: rotateX(10deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(2) {
          transform: rotateX(20deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(3) {
          transform: rotateX(30deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(4) {
          transform: rotateX(40deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(5) {
          transform: rotateX(50deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(6) {
          transform: rotateX(60deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(7) {
          transform: rotateX(70deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(8) {
          transform: rotateX(80deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(9) {
          transform: rotateX(90deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(10) {
          transform: rotateX(100deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(11) {
          transform: rotateX(110deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(12) {
          transform: rotateX(120deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(13) {
          transform: rotateX(130deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(14) {
          transform: rotateX(140deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(15) {
          transform: rotateX(150deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(16) {
          transform: rotateX(160deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(17) {
          transform: rotateX(170deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(18) {
          transform: rotateX(180deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(19) {
          transform: rotateX(190deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(20) {
          transform: rotateX(200deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(21) {
          transform: rotateX(210deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(22) {
          transform: rotateX(220deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(23) {
          transform: rotateX(230deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(24) {
          transform: rotateX(240deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(25) {
          transform: rotateX(250deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(26) {
          transform: rotateX(260deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(27) {
          transform: rotateX(270deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(28) {
          transform: rotateX(280deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(29) {
          transform: rotateX(290deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(30) {
          transform: rotateX(300deg) translateZ(5.5vmin);
        }
        .circle-a__side:nth-of-type(31) {
          transform: rotate.........完整代码请登录后点击上方下载按钮下载查看

网友评论0