1

可能重复:
在 jQuery 中获取元素 -moz-transform:rotate 值

火狐 15 - 铬:

$('#img2').css('transform');

return =>  "rotate(90deg)"

火狐 16

$('#img2').css('transform');
return => matrix(0, 1, -1, 0, 0, 0);

知道如何在 Firefox 16 中获取旋转值什么是矩阵?

在 Firebq 我得到:

element.style {
    height: auto;
    transform: rotate(90deg);
    width: auto;
}
4

1 回答 1

6

矩阵是形式的仿射变换[a,b,c,d,tx,ty]。如果您将 css 字符串解析为具有这些属性的对象(分别[0,1,-1,0,0,0]在您的示例中),那么您可以通过执行以下操作来计算旋转角度:Math.atan2(matrix.b,matrix.a) * (180 / Math.PI);

这里有一篇关于 css 矩阵的好文章http://dev.opera.com/articles/view/understanding-the-css-transforms-matrix/ - 但我发现的最好的解释仍然是 Senocular 的这篇文章(甚至虽然它是关于 Flash 的,但基本数学是相同的):http ://www.senocular.com/flash/tutorials/transformmatrix/

rotate(deg)语法只是底层矩阵变换的简写。我不确定为什么 FF 接受一种格式,但报告另一种格式。

更多关于变换:http ://www.w3.org/TR/2012/WD-css3-transforms-20120911/

于 2012-10-15T14:12:03.403 回答