我正在使用 Android WebView 来显示我的应用程序的 HTML 内容。我需要动态找到一个元素(通常是一个 div)的完整高度,包括填充、边距和边框。我正在使用 JavaScript,不能使用 jQuery。
我一直scrollHeight
在我的 div 上使用来获取高度。我得到了 div 的计算样式,并通过调用andvar style = window.getComputedStyle(DIV, null);
得到了顶部和底部边距。他们都是0px。问题是 仍然没有考虑属于 div 的边距的高度。style.marginTop
style.marginBottom
scrollHeight
我得到了 div 的子元素(通常是 P 或 H* 标签)并以相同的方式获得了相同的字段:scrollHeight
、marginTop
和marginBottom
. scrollHeight
s 完全相同(因为我通常每个 div 只有一个子元素),但子元素中通常有一个顶部或底部边距值,而该值未反映在父元素中。
我真的不明白为什么会这样。似乎通过孩子的边距呈现在父母之外,但父母不知道它,也无法直接访问它。
我正在寻找一种通过父元素访问子元素定义的边距的方法。那可能吗?
这个问题非常有帮助,但我没有找到为什么它以这种方式呈现的根本原因,并且线程似乎已经变冷了。
谢谢!