【发布时间】:2013-01-19 09:55:57
【问题描述】:
有没有人知道由 css3 转换属性产生的不准确性的解决方案:rotate3d(或rotateX、rotateY、rotateZ)?
该函数通过将旋转角度应用于矩阵[cos(angle) sin(angle) -sin(angle) cos(angle) someOtherTrigForZ(angle) someOtherTrigForZ(angle)]..来计算元素位置。
我正在使用这些 css3 属性创建一个立方体,如果您检查 this jsfiddle 中的 id=cube 元素(使用箭头键旋转立方体几次后)(查看计算样式),您可以看到rotate3d 矩阵不会对计算样式应用任何类型的数字固定(某种舍入方法)。
-webkit-transform: matrix3d(0.7, 0, 0, 0, 0, 0.04943792709533707, -0.6982520256787774, 0, 0, 0.6982520256787774, 0.04943792709533707, 0, 0, 0, 0, 1);
我得到的结果是绘制不佳的元素没有对齐;如果您查看立方体表面的边框,这是肉眼可见的。
有谁知道平滑/圆整三角计算的方法,这样我的边界就不会起伏不定?
【问题讨论】:
-
不知道你在说什么……据我所知,边缘排列得很完美。我将立方体旋转了几分钟,看不到明显的错位(而且我对这些东西很挑剔)。在当前的 Safari(版本 6.0.2 (8536.26.17))和相当新的 WebKit nightly 中测试,结果相同。