【发布时间】:2017-10-31 19:48:46
【问题描述】:
使用“缩放”属性转换元素后,我无法获取元素的坐标。我需要知道所有 4 个角的坐标。我通常会使用 getBoundingClientRect 属性来完成此操作,但是在缩放元素时似乎无法正常工作。我附上了一个简短的 jsfiddle 链接来显示什么似乎不起作用。我使用的是 Chrome,但 Firefox 也存在这种行为。
http://jsfiddle.net/GCam11489/0hu7kvqt/
HTML:
<div id="box" style="zoom:100%">Hello</div><div></div><div></div>
JS:
var div = document.getElementsByTagName("div");
div[1].innerHTML = "PreZoom Width: " + div[0].getBoundingClientRect().width;
div[0].style.zoom = "150%";
div[2].innerHTML = "PostZoom Width: " + div[0].getBoundingClientRect().width;
当我运行该代码时,前后缩放宽度均显示“100”。
我找到了很多信息,但我发现的所有信息似乎都表明这是 Chrome 上的一个已知错误,并且已经修复。有谁知道如何纠正这种情况或我可能做错了什么?
【问题讨论】:
标签: javascript css transform