我试图在使用 style.transform=rotate 旋转矩形 div 后获取其
。style.left
和 style.top
(90 度)
我理解 div 是如何旋转的,它是围绕“变换点”旋转的。而且我还知道 div 可以旋转 45 度,因此给出新的顶部/左侧会很尴尬(实际上给出边界框左侧/顶部)。
但是回到最初的问题,将矩形div旋转90度,有没有办法得到"new"的左/上?
我需要这个的原因是我正在开发一个元素来上传图像,允许用户缩放、旋转等,但目前必须使用 PHP 来保持最终图像的所有尺寸正确(这是显然很糟糕,因为一旦 PHP 完成旋转/缩放等操作,我就必须继续加载新图像)
我也做了一点jsfiddle显示旋转时顶部/左侧位置不会改变
最佳答案
好的,感谢上面留下的评论,我设法拼凑出一个答案。
基本上使用:
newleft = parseInt(div.style.top) + Math.cos(90) * parseInt(div.style.height);
newtop = parseInt(div.style.left) + Math.sin(90) * parseInt(div.style.height);
div 旋转后。
我已经更新了我的 jsfiddle另外,因为上面注释中使用的是 jQuery,但这种方式只使用了 javascript。
关于javascript - 旋转 div 时获取 CSS 左侧和顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24785550/