最近我在开发一个项目时使用到了css2d库,但是在旋转元素时却发现代码不起作用,经过一番解决的过程,我总结了以下几点可能原因:
.rotate { transform: rotate(45deg); }
1. 可能是浏览器不支持transform属性。在使用css2d时,要确保浏览器支持transform属性,而且要加上浏览器前缀。
.rotate { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
2. 可能是元素的position属性不是absolute或fixed。css2d中旋转元素的前提是该元素的position属性为absolute或fixed,否则旋转效果将无法实现。
.rotate { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%) rotate(45deg); transform: translate(-50%,-50%) rotate(45deg); }
3. 可能是元素的父级元素没有设置transform-style属性。使用css2d时,要确保元素的父级元素设置了transform-style属性且为preserve-3d。
.parent { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .rotate { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%) rotate(45deg); }