使用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