有没有办法计算transform-origin
' 对旋转元素“位置”的影响(更像是相对于文档的偏移量),无论角度如何?
假设我们有一个旋转90 度100px * 100px
的正方形元素,它是。从下图中我们可以看出,旋转原点是中心。白点表示变换原点。transform-origin
50px 50px
但是当我们移动变换原点时,元素也会移动。如果我们将变换原点的 x 轴增加1px
( transform-origin: 51px 50px;
),则元素似乎向上 1px
和向右 1px
移动。分别在原点的 y 轴上,1px
增加 ( transform-origin: 50px 51px;
) 将元素向下 1px
和向右 1px
移动。因此,即使是转换原点的轴值之一的更改也会影响元素在两个轴上的位置。如果原点的两个值以相同的比例增加,则效果会相互抵消或相互加强。
这是与transform-origin
集合相同的正方形75px 75px
,其中原点的 y 值的“向下”效果取消了 x 值的“向上”效果,因此元素在 y 轴方向上保持在相同的位置。两个值的“正确”效果相加,因此元素移动了两倍效果的距离 ( 2 * 25px
) 与仅单个原点值的效果 ( 25px
) 相比。
很明显transform-origin
,如果您知道角度(在本例中90deg
),则可以计算 对位置的影响。有人能想出一个公式,可以用任何角度或原点进行计算吗?(因此,与未转换状态相比,元素的位置是什么transform-origin
,例如,如果243px -35px
元素将旋转270 度。)我很确定可以计算,我只是不知道如何.
我不确定我是否可以理解地解释我的问题,所以如果您有任何问题,请提问!