用纯CSS实现旋转立方体效果

实现效果图:用纯CSS实现旋转立方体效果
思路:定义一个div,里面放六张图片,先将六张图片定位到同一位置,然后用变幻属性 transform中的旋转属性rotate和位移属性translate共同实现每张图片对应的位置,最后可以用动画属性 animation实现旋转。

html代码:用纯CSS实现旋转立方体效果
在css里面,div先水平垂直居中
用纯CSS实现旋转立方体效果
绝对定位让图片脱流,6张图片在一个位置,避免定位的麻烦
用纯CSS实现旋转立方体效果

再用一张图片调试相应6个面的位置 :(补充translateZ( )位移属性视觉上的拉近效果)
/* 左面 :让图片向左旋转90度*/
transform: rotateY(90deg) translateZ(-70px);
以此类推:
/* 右面 :让图片向右旋转90度*/
transform: rotateY(-90deg) translateZ(-70px);
/* 顶面::让图片向上旋转90度 /
transform: rotateX(-90deg) translateZ(-70px);
/
底面:让图片向上旋转90度 /
transform:rotateX(90deg) translateZ(-70px);
正面和背面只要前后移动
/
背面 :向后移动*/
transform: rotateY(0deg) translateZ(-70px) ;
/* 正面 :向前移动*/
transform: rotateY(0deg) translateZ(70px) ;
CSS代码如下:
用纯CSS实现旋转立方体效果

最后加上动画属性
注意:图片在div里 ,所以3D视距要给在div上,并加 transform-style: preserve-3d;让div支持3D效果,动画必须加载div上(加在图片上只会让图片单独旋转)
用纯CSS实现旋转立方体效果
运行效果:用纯CSS实现旋转立方体效果
造成的原因,在平面空间里,3D视距会造成这种情况,与它值的大小没有关系,去掉3D视距就解决了
实现效果:
用纯CSS实现旋转立方体效果