从左侧位置旋转 div 偏移顶部位置

Rotated div offset top position from based on left position

我正在努力寻找从左侧偏移的顶部位置。 例如 left 50px 我想根据 left 找到顶部位置。

这是一个纯欧氏几何问题,但您目前无法计算此偏移量。您需要 一个 这些数据:

  • 旋转角度
  • 线的(左)端与您的点之间的距离

我猜你知道旋转,所以我们将使用这个值。假设您旋转了 30°,我们得到了这个:

使用勾股定理,我们有:

    tan(30) = H / 50px
<=> H = tan(30) * 50px
<=> H = 28.867px

所以,取你的角度 (ɑ),并应用这个公式:

H = tan(ɑ) * 50px

在Javascript中:

var offset = {
    x: 50,
    y: null
}
var alpha = 30;
offset.y = Math.tan(alpha * (180 / Math.PI)) * offset.x;

console.log(offset);