使用vue.js实现3D立方体旋转播放特效;

思路:

1、正方体由6个面组成;

2、使用transform属性来设置各个面的位置;

3、在使用animation-play-state进行动画播放; 

主要代码:

<style lang="scss" scoped>
.box {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  width: 240px;
  height: 240px;
  margin-top: -120px;
  margin-left: -120px;
  transform: perspective(800px) rotateX(-20deg) rotateY(-20deg) translateZ(-20px);
  transform-style: preserve-3d;
}
.box li {
  position: absolute;
  width: 240px;
  height: 240px;
  list-style: none;

  opacity: 0.8;
}
.box li .con {
  width: 240px;
  height: 240px;
  vertical-align: middle;
}

.box li:nth-child(1) {
  -webkit-transform: translateZ(120px);
  transform: translateZ(120px);
}

.box li:nth-child(2) {
  -webkit-transform: rotateX(90deg) translateZ(120px);
  transform: rotateX(90deg) translateZ(120px);
}

.box li:nth-child(3) {
  -webkit-transform: translateZ(-120px);
  transform: translateZ(-120px);
}

.box li:nth-child(4) {
  -webkit-transform: rotateX(90deg) translateZ(-120px);
  transform: rotateX(90deg) translateZ(-120px);
}

.box li:nth-child(5) {
  -webkit-transform: rotateY(90deg) translateZ(120px);
  transform: rotateY(90deg) translateZ(120px);
}

.box li:nth-child(6) {
  -webkit-transform: rotateY(90deg) translateZ(-120px);
  transform: rotateY(90deg) translateZ(-120px);
}

</style>

 实现效果:

 在线预览及全部代码链接:pen/KKZjOYE   

Logo

前往低代码交流专区

更多推荐