div+css实现三维立方体盒子折叠展开动画效果代码

代码语言:html

所属分类:动画

代码描述:div+css实现三维立方体盒子折叠展开动画效果代码

代码标签: div css 三维 立方体 盒子 折叠 展开 动画

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

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

<head>

  <meta charset="UTF-8">

  
  
  
<style>
:root {
  --anim-duration: 5s;
  --anim-delay: 0s;
  --anim-props: ease-in-out infinite;
  --clr-cube-1: deepskyblue;
  --clr-cube-2: deeppink;
  --clr-lines: #919084;
  --clr-bg: #2a2b31;
  --grid-v: repeating-linear-gradient(
  	to right,
  	transparent 0,
  	transparent calc(5rem - 1px),
  	var(--clr-lines) 0,
  	var(--clr-lines) 5rem
  );
  --grid-h: repeating-linear-gradient(
  	to bottom,
  	transparent 0,
  	transparent calc(5rem - 1px),
  	var(--clr-lines) 0,
  	var(--clr-lines) 5rem
  );
  --bounce: cubic-bezier(0.4, 0.2, 0.5, 1.6);
}

body {
  height: 100vh;
  margin: 0;
  display: grid;
  place-items: center;
  perspective: 30rem;
  background: var(--clr-bg);
}

body * {
  transform-style: preserve-3d;
}

.floor {
  display: grid;
  width: 45rem;
  height: 40rem;
  grid-template-columns: repeat(9, 5rem);
  grid-template-rows: repeat(8, 5rem);
  background: yellow;
  background-image: radial-gradient(ellipse at center, transparent 25%, var(--clr-bg) 70%), var(--grid-h), var(--grid-v);
  -webkit-animation: var(--anim-duration) var(--anim-props) floor;
          animation: var(--anim-duration) var(--anim-props) floor;
}

.cube__wrapper:nth-of-type(1) {
  grid-area: 4/4/8/7;
}
.cube__wrapper:nth-of-type(1) .face {
  background: var(--clr-cube-1);
}

.cube__wrapper:nth-of-type(2) {
  grid-area: 1/5/5/8;
  transform: rotateZ(180deg);
  --anim-delay: -0.5s;
}
.cube__wrapper:nth-of-type(2) .face {
  background: var(--clr-cube-2);
}

.cube__wrapper {
  position: relative;
}
.cube__wrapper:after {
  position: absolute;
  content: "";
  width: 5rem;
  height: 5rem;
  top: 5rem;
  left: 5rem;
  background: rgba(0, 0, 0, 0.7);
  -webkit-animation: var(--anim-duration) var(--anim-props) var(--anim-delay) cube-shadow;
          animation: var(--anim-duration) var(--anim-props) var(--anim-delay) cube-shadow;
}

.cube {
  display: grid;
  grid-template-columns: repeat(3, 5rem);
  grid-template-rows: repeat(4, 5rem);
  transform-origin: 50% 37.5% 2.5rem;
  -webkit-animation: var(--anim-duration) var(--anim-props) var(--anim-delay) cube-anim;
          animation: var(--anim-duration) var(--anim-props) var(--anim-delay) cube-anim;
}

.face {
  position: relative;
  box-shadow: 0 0 0.8333333333rem rgba(255, 255, 255, 0.25) inset;
}
.face:before, .face:after {
  content: "";
  position: absolute;
  inset: 0;
}
.face:before {
  background: yellow;
  transform: translate3d(0, 0, 1px);
  background-image: var(--grid-h), var(--grid-v);
}
.face:after {
  -webkit-animation: var(--anim-duration) var(--anim-props) var(--anim-delay) face-shadow;
          animation: var(--anim-duration) var(--anim-props) var(--anim-delay) face-shadow;
}

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

网友评论0