css实现三维立体模仿收缩旋转动画效果代码

代码语言:html

所属分类:三维

代码描述:css实现三维立体模仿收缩旋转动画效果代码

代码标签: 立体 模仿 收缩 旋转 动画 效果

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


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

<head>

  <meta charset="UTF-8">

  
  
  
<style>
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

*, *:before, *:after {
  box-sizing: border-box;
  position: relative;
  -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0, 1) !important;
          animation-timing-function: cubic-bezier(0.5, 0, 0, 1) !important;
}

body {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  -webkit-perspective: 600px;
          perspective: 600px;
  background: -webkit-gradient(linear, left top, right bottom, from(#a4c5c7), to(#2D3F48));
  background: linear-gradient(to bottom right, #a4c5c7, #2D3F48);
  background: -webkit-gradient(linear, left top, right bottom, from(#eec5c7), to(#443F48));
  background: linear-gradient(to bottom right, #aac5c7, #bb3F48);
background: #C6FFDD;
background: -webkit-linear-gradient(to top, #f7797d, #FBD786, #C6FFDD);
background: linear-gradient(to top left, #f7797d, #FBD786, #C6FFDD);
background: #f12711;
background: -webkit-linear-gradient(to bottom right, #f5af19, #f12711); 
background: linear-gradient(to bottom right, #f5af19, #f12711);
}

body:hover > label, body:hover > input {
  opacity: 1;
}

label, #shadows {
  position: fixed;
  top: 2vmin;
  opacity: 0.5;
}

label {
  left: 6vmin;
  color: white;
  font-weight: bold;
}

#shadows {
  left: 2vmin;
}

#shadows:not(:checked) ~ .cubes {
  --shadow-filter: none;
}

.cubes {
  width: 10vmin;
  height: 10vmin;
  -webkit-transform: rotateX(60deg) rotateZ(-45deg);
          transform: rotateX(60deg) rotateZ(-45deg);
  -webkit-backface-visibility: visible;
          backface-visibility: visible;
  overflow: visible;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-perspective: 9000px;
          perspective: 9000px;
  -webkit-perspective: 2000px;
          perspective: 2000px;
}

.cube, .large-shadow {
  height: 10vmin;
  width: 10vmin;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-backface-visibility: visible;
          backface-visibility: visible;
  -webkit-transform-origin: center center -.5vmin;
          transform-origin: center center -.5vmin;
  position: absolute;
  top: 0;
  left: 0;
}
.cube > .cube-wrap, .large-shadow > .cube-wrap {
  -webkit-animation: cube 4s infinite both;
          animation: cube 4s infinite both;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-backface-visibility: visible;
          backface-visibility: visible;
  -webkit-transform-origin: center center -.5vmin;
          transform-origin: center center -.5vmin;
  will-change: transform;
}
@-webkit-keyframes cube {
  from, to, 20%, 60% {
    -webkit-animation-timing-function: step-start;
            animation-timing-function: step-start;
    -webkit-transform: none;
            transform: none;
  }
  40% {
    -webkit-transform: rotateY(-1turn);
            transform: rotateY(-1turn);
  }
}
@keyframes cube {
  from, to, 20%, 60% {
    -webkit-animation-timing-function: step-start;
            animation-timing-function: step-start;
    -webkit-transform: none;
            transform: none;
  }
  40% {
    -webkit-transform: rotateY(-1turn);
            transform: rotateY(-1turn);
  }
}
.cube[data-cube^="1"], .large-shadow[data-cube^="1"] {
  top: calc(-10vmin - 2px);
  --color-bg-top: #A0EBE8;
  --color-bg-top: #60EB00;
  --color-bg-bottom: #89E4E4;
  --color-bg-bottom: #39E400;
  --color-fl-top: #4EAFBC;
  --color-fl-top: #8EAF00;
  --color-fl-bottom: #4EAFBC;
  --color-fl-bottom: #8EAF00;
}
.cube[data-cube^="2"], .large-shadow[data-cube^="2"] {
  --color-bg-top: #89E4E4;
  --color-bg-top: #d900E4;
  --color-bg-bottom: #76DEE5;
  --color-bg-bottom: #9600E5;
  --color-fl-top: #43A5B2;
  --color-fl-top: #9300B2;
  --color-fl-bottom: #3D93A9;
  --color-fl-bottom: #3D00A9;
}
.cube[data-cube^="3"], .large-shadow[data-cube^="3"] {
  top: calc(10vmin + 2px);
  --color-bg-top: #76DEE5;
  --color-bg-top: #00DEE5;
  --color-bg-bottom: #63D3D4;
  --color-bg-bottom: #00D3D4;
  --color-fl-top: #3D93A9;
  --color-fl-top: #0093A9;
  --color-fl-bottom: #3B8D9F;
  --color-fl-bottom: #008D9F;
}
.cube[data-cube^="11"], .cube[data-cube^="21"], .cube[data-cube^="31"], .large-shadow[data-cube^="11"], .large-shadow[data-cube^="21"], .large-shadow[data-cube^="31"] {
  left: calc(-10vmin - 2px);
  --color-fr-top: #2D505F;
  --color-fr-top: #AD5000;
  --color-fr-bottom: #2D4F63;
  --color-fr-bottom: #4D1F00;
}
.cube[data-cube^="12"], .cube[data-cube^="22"], .cube[data-cube^="32"], .large-shadow[data-cube^="12"], .large-shadow[data-cube^="22"], .large-shadow[data-cube^="32"] {
  --color-fr-top: #2D4F63;
  --color-fr-top: #6D0063;
  --color-fr-bottom: #2A5262;
  --color-fr-bottom: #2A0062;
}
.cube[data-cube^="13"], .cube[data-cube^="23"], .cube[data-cube^="33"], .large-shadow[data-cube^="13"], .large-shadow[data-cube^="23"], .large-shadow[data-cube^="33"] {
  left: calc(10vmin + 2px);
  --color-fr-top: #2A5262;
  --color-fr-top: #0052B2;
  --color-fr-bottom: #2A5467;
  --color-fr-bottom: #002442;
}
.cube[data-cube$="2"], .large-shadow[data-cube$="2"] {
  -webkit-transform: translateZ(calc(10vmin + 2px));
          transform: translateZ(calc(10vmin + 2px));
}
.cube[data-cube$="3"], .large-shadow[data-cube$="3"] {
  -webkit-transform: translateZ(calc(-10vmin - 2px));
          transform: translateZ(calc(-10vmin - 2px));
}

.large-shadow.........完整代码请登录后点击上方下载按钮下载查看

网友评论0