我正在使用Android WebView來顯示我的應用程序的HTML內容。我需要動態查找元素的全部高度(通常是div),包括填充,邊距和邊框。我正在使用JavaScript,並且不能使用jQuery。外部元素邊距不等於內部元素邊距
我一直在使用我的div上的scrollHeight
來獲得高度。我使用var style = window.getComputedStyle(DIV, null);
得到了div的計算樣式,並通過調用style.marginTop
和style.marginBottom
獲得了頂部和底部邊距。他們都是0px。問題是scrollHeight
仍然沒有考慮屬於div的邊距的高度。
我得到了我的div的子元素(通常是P或H *標籤),並以相同的方式獲得相同的字段:scrollHeight
,marginTop
和marginBottom
。 scrollHeight
是完全相同的(因爲我通常每個div只有一個孩子),但通常在子元素中有一個頂部或底部的邊距值,這並不反映在父元素中。
我真的不明白爲什麼會這樣。通過小孩的保證金顯示在父母之外,但父母不知道,並且不能直接訪問它。
我正在尋找一種方法來訪問孩子通過父元素定義的邊距。那可能嗎?
This Question是非常有幫助的,但我沒有找到爲什麼它以這種方式呈現並且該線程似乎已經變冷的根本原因。
謝謝!
它被稱爲「崩潰邊緣」。 http://www.w3.org/TR/css3-box/#collapsing-margins如果內部元素具有垂直邊距,並且外部元素沒有垂直填充/邊界,則內部和外部的垂直邊距元素合爲一體。可以這麼說,內緣泄漏到外面。 –
那篇文章很有幫助!謝謝!這是否意味着我仍然需要單獨計算利潤率,即使它們合併爲一個? – Jon