我有一个应用了transform: rotate3d(1,1,1,90deg)
的图像,其中每个参数分别表示X轴、Y轴和Z轴(根据CSS)。图像应该从倾斜显示的视图中消失。
让我们将其分解:rotate3d(1,0,0,90deg)
将隐藏图像,因为如果您将图像在X轴上旋转90度,则图像将平放在X轴上。这部分起作用了。您可以在浏览器中测试它。让我们添加Y轴:rotate3d(1,1,0,90deg)
,图像仍然没有显示,这是正确的。现在你在Y轴上旋转图像到什么程度并不重要-我们仍然看不到图像。当我添加第三个轴Z- rotate3d(1,1,1,90deg)
时,图像显示倾斜。为什么?它应该将不可见的图像旋转90度,这将导致不可见的图像)
那么CSS rotate3d是如何工作的呢?有人知道吗?我还没有在网上找到答案。
发布于 2015-09-10 03:40:39
hoijui,你是对的,这些数字构成了从我的图像中心到三维坐标(1,1,1)的轴。但是图像不绕轴旋转--轴旋转图像!:)几乎就像伽利略的发现:)
所以,要理解rotate3d,只需拿一张正方形的纸,用牙签刺穿它,它就是你的轴。把纸和牙签放在眼睛前面(不要靠得太近,否则会刺破眼睛!)现在将牙签尖端(正对着你)倾斜到纸张的右下角(底部是因为在CSS rotate3d
中Y是向下的)。Z取决于你的牙签有多长。如果牙签的长度与纸张的宽度相同,则坐标将为(1,1,1),这是我在实验中使用的坐标。现在开始在你的手中滚动牙签。如果您尝试在firebug或开发人员工具中手动增加角度,您将在屏幕上看到完全相同的效果。
https://stackoverflow.com/questions/32486558
复制相似问题