getBoundingClientRect()里面»溢出:滚动«

时间:2013-12-18 09:43:27

标签: javascript scrollview bounding-box

我想使用getBoundingClientRect()计算元素的实际大小。如果Element位于具有给定大小且overflow:scroll的容器内,则该方法的结果不同。

FIDDLE

无论是否在“溢出:滚动”上下文中,我怎么能总是得到元素的总大小?

1 个答案:

答案 0 :(得分:2)

高度始终正确返回,所以我相信它所关注的宽度。在这种情况下,你的小提琴给你正确的元素大小。 这是如何 -

记住规则 - 除非指定,否则元素的宽度将是父级的100%。

使用“默认溢出”设置时,您没有设置父包装器的宽度,因此根据规则它采用父链路的100%宽度,上行链路将是窗口宽度。

使用“溢出隐藏”和“滚动”,您将向包装div添加一个“小”类,它具有固定的高度和宽度200px。因此,再次应用规则,其宽度将是父级的100%,现在是200px。