嗖一下,答案就来了!

导航:QUI-Notes/CSS3实现一个立体的滚动盒子——6面筛子

CSS3实现一个立体的滚动盒子——6面筛子

我们知道css可以实现过渡,动画,也可以制作3D的效果,在这分享一个3D动画效果

代码:

 	<style type="text/css">
.sbox {
	width: 100%;
	height: 100%;
	perspective: 500px;/*相机远近视角*/
}
.cube {
  position: relative;
  width: 200px;
  height: 200px;
  margin: 100px auto;
  color: #ff92ff;
  font-size: 36px;
  font-weight: 100;
  text-align: center;
  line-height: 200px;
  transform-style: preserve-3d;/*3D元素声明*/
  transform: rotateX(-50deg) rotateY(-50deg) rotateZ(0deg);/*初始3d元素角度*/
  animation: move 8s infinite linear;
}

@keyframes move {
    0% {
      transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    }
    100% {
      transform: rotateX(720deg) rotateY(360deg) rotateZ(360deg);
    }
}

.cube div {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 10px solid #66daff;
    border-radius: 20px;
    background-color: rgba(51, 51, 51, 0.3);
}

.front {
    transform: translateZ(100px);/*通过tranform进行位置和角度调整*/
  }

.back {
    transform: translateZ(-100px) rotateY(180deg);
}

.left {
    transform: translateX(-100px) rotateY(-90deg);
}

.right {
    transform: translateX(100px) rotateY(90deg);
}

.top {
    transform: translateY(-100px) rotateX(90deg);
}

.bottom {
    transform: translateY(100px) rotateX(-90deg);
}

	</style>
<div class="sbox">
		    <section class="cube">
		      <div class="front">前面</div>
		      <div class="back">后面</div>
		      <div class="left">左面</div>
		      <div class="right">右面</div>
		      <div class="top">上面</div>
		      <div class="bottom">下面</div>
		    </section>
 </div>

效果展示:

前面
后面
左面
右面
上面
下面