我有一个绝对定位的div (思考工具提示),它被移动到特定的位置。当它位于浏览器窗口的右边缘附近且html内容宽于div的可见宽度时,offsetWidth
将返回一个值:window.width - div.style.left
而不是实际宽度。换句话说就好像内容被剪裁了一样。
div使用visibility: hidden
和overflow: visible
。如果我在设置offsetWidth
后检查visibility: visible;
,那么它仍然是错误的。
我还检查了scrollWidth
和getBoundingClientRect()
,但他们错了。我没有使用jQuery,但确实检查了.outerWidth()
,这也是错误的。
如果我重置div位置:div.style.left = div.style.top = '0px';
然后检查offsetWidth
它会给出正确的宽度。
Chrome和Firefox都会出现这种情况。我不知道这里发生了什么。