哦,JavaScript 之神! 献给那些还记得学校三 Angular 学的人 ;-)
请参阅下面的链接,我实际上是在尝试将一些内容居中,但是由于 Angular 原因,正常的 screenwidth-divwidth/2 样式等式不起作用。
目前仅在 firefox 中 http://jsbin.com/uruvub/2/
非常感谢!
最佳答案
首先想象一个“红色坐标系”连接到你的红色框的左上角,红色 y 轴由红色框的顶部边界给出并向右,红色 y 轴由左边界给出红色框和下降。灰框在这个红色坐标系中的位移(d_x, d_y)
为:
d_x = (W - w) / 2, W = width of red box, w = width of grey box
d_y = (H - h) / 2, H = height of red box, h = height of grey box
相同的位移向量(d_x, d_y)
对绿框的右上角有效。
现在,我们需要在您的 X 轴和 Y 轴给定的“黑色坐标系”中表达这个向量 (d_x, d_y)
。通过旋转a
Angular (您指定的 Angular )和原点的偏移,可以将红色系统转换为黑色系统。旋转后的矢量为
D_x = d_x * cos(a) - d_y * sin(a)
D_y = d_x * sin(a) + d_y * cos(a)
这是黑色系统中相对于黑色系统中红框左上角的位移。
备注:根据旋转的方向,可能需要将上面公式中的a
改为-a
。
关于javascript - 旋转后的js三 Angular 定心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963933/