【发布时间】:2012-11-21 08:51:25
【问题描述】:
我目前正在尝试使用 CSS3 进行 3D 变换。我知道目前并非每个浏览器都支持 3D 变换,但是,我注意到浏览器之间元素的放置存在显着差异。在 Safari 中,元素完美地排列在我期望的位置。但在 Chrome 中,该元素相差 100 像素。
我在网上找不到任何信息证实,但经过一番调查,似乎在 Safari 中,X 轴原点位于窗口的最左侧,而在 Firefox 和 Chrome 中,X-轴位于窗口的死点(仅供参考,Y 轴和 Z 轴在这三个浏览器之间具有相同的原点。
关于如何纠正这个问题的任何想法?
这里是相关的 CSS:
#container {
-webkit-perspective: 1200px;
-webkit-perspective-origin: 50% 50%;
-moz-perspective: 1200px;
-moz-perspective-origin: 50% 50%;
}
#cube {
-webkit-transform: translate3d(438px,137px,-282px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
-webkit-transform-style: 3d-perspective;
-moz-transform: translate3d(438px,137px,-282px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
-moz-transform-style: 3d-perspective;
}
【问题讨论】:
-
可以选择 JavaScript 吗?
-
可能是scss compass或更少可以统一这种行为?
-
贾斯汀,一直在使用 JavaScript,并且愿意使用 JavaScript 来解决这个问题。我考虑过检查正在使用的浏览器,并相应地设置 CSS,但我希望有一个更优雅的解决方案。
标签: css firefox google-chrome 3d safari