【问题标题】:Firefox rotate3d from -90deg to -180deg bug?Firefox rotate3d 从 -90deg 到 -180deg 错误?
【发布时间】:2012-06-28 10:08:38
【问题描述】:

我正在构建一个 3D 内容滑块 jQuery 插件,并且在 Firefox 中出现了一个奇怪的行为,它从 -90 度旋转到 -180 度到相反的方向再到 270 度。我知道其中一些内容是实验性的,但我无法找到有关此问题的任何其他文档,如果实际上这是一个问题。

非常感谢任何帮助。

问题演示(在 webkit 和 FF 中查看最新):http://jsbin.com/iwokok/8/ 插件:https://github.com/p-m-p/jquery-box-slider

编辑:使用 Mozilla 记录的错误 您可以在https://bugzilla.mozilla.org/show_bug.cgi?id=769892

跟踪错误报告的状态

【问题讨论】:

  • 不确定,但可能是浏览器开发人员选择旋转方向的问题。
  • 我认为他们不会有意识地做出将 90 度增量旋转到 270 度的决定。它也可以从 180° 到 270° jsbin.com/iwokok/9
  • +1 对我来说似乎是一个错误,只是在 chrome 和 FF 中进行了比较。
  • 您可能会破解它以使用增量转换使其做您想做的事情,但如果它真的是一个错误,那就不重要了。但是,如果您需要尽快为客户提供服务.. 那是不同的 ;)
  • 这是一个个人项目,所以不用着急,该插件还有其他不需要 3D 变换的效果。如果我不能很快得到结果,那么是的,我将不得不让面孔切换并始终从 0 变为 +/-90。

标签: html firefox css css-transforms


【解决方案1】:

如果您认为自己发现了 Firefox 的错误,那么您应该在 Firefox 错误跟踪器上提交错误:

https://bugzilla.mozilla.org/

【讨论】:

    【解决方案2】:

    编辑:下面的文字是错误的;我误读了 CSS。

    您正在旋转然后平移的变换与平移然后旋转的变换之间进行插值。

    当两个列表中的变换函数类型不匹配时,根据规范,两个变换都被折叠成一个变换矩阵,并对矩阵执行插值。

    在矩阵表示中,-180deg 和 180deg 没有区别。因此,插值最终看起来像是从 -90 度变为 180 度,具体取决于所选择的精确插值方法(最后我检查过,3d 变换规范实际上并未定义矩阵的精确插值方法)。

    一般来说,如果您希望通过不依赖于浮点错误和各种中间计算的变换插值获得可重现的结果,您希望在具有相同函数且顺序相同的变换列表之间进行插值。

    【讨论】:

    • 我不太明白你的回答,抱歉。盒子上相同的变换函数总是以相同的顺序应用? translate3d -> rotate3d。
    • 哦,嗯。在盒子上,是的。在那种情况下,我不知道发生了什么!
    • 该死,如果你不知道鲍里斯谁会??!!
    • 好吧,可能是 David Baron、Matt Woodrow 或 Robert O'Callahan。 ;) 如果您已经有一个 bugzilla 帐户,我建议您提交一个错误。如果没有,我可以为你做。让我知道!
    • 感谢 Boris,我已注册并添加了错误报告(错误 769892)bugzilla.mozilla.org/show_bug.cgi?id=769892
    猜你喜欢
    • 2015-01-02
    • 2010-10-21
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    相关资源
    最近更新 更多