【问题标题】:CSS strange transform value from Safari来自 Safari 的 CSS 奇怪的变换值
【发布时间】:2019-08-25 01:12:22
【问题描述】:

我在一个元素上有一个 transform:rotate(27deg)。

转换后,Firefox 和 Chrome 将此值设置为转换:matrix(0.3, 0, 0, 0.3, 0, 0)。

Safari 设置了这个value: matrix(0.3, -0.00000000000000007347880794884119, 0.00000000000000007347880794884119, 0.3, 0, 0).

在我的js 代码中,我通过检查元素的变换css 是否等于matrix(0.3, 0, 0, 0.3, 0, 0) 来检查元素是否旋转,所以如果我使用 Safari,我无法检查这种方式,因为 Safari 返回的值太多小数。

有没有办法让 Safari 返回与其他浏览器相同的值?

【问题讨论】:

    标签: html css


    【解决方案1】:

    理想情况下,您不希望依赖返回“完美”结果的浮点运算,这可能是特定于浏览器和 CPU 的 - 您可以将矩阵拆分为单独的数字组件 (.split -> parseFloat) 并检查对于Math.abs(value - target) < threshold;如果这种情况经常发生,请将其组合到一个方便的功能中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-11
      • 2022-06-14
      • 2021-04-28
      • 1970-01-01
      • 2015-12-24
      • 2020-05-26
      • 1970-01-01
      • 2017-03-11
      相关资源
      最近更新 更多