为什么table和tbody的scrollHeight> clientHeight for stackoverflow问题?

时间:2012-10-06 22:48:28

标签: javascript google-chrome

正在创建一个函数来列出给定节点的父可滚动元素并使用此检查

( e.scrollWidth > e.clientWidth ) || ( e.scrollHeight > e.clientHeight )

当我在打开的页面上测试它时(stackoverflow问题),我注意到问题和答案的<table><tbody>元素返回true。对于页面上的其他<table><tbody>元素,不会发生这种情况。

我的初始猜测是边框或边距,但似乎并非如此(如下面的代码所示,请在此页面上尝试)。

导致这种情况的原因以及如何检查?


var tbodys = document.getElementsByTagName('tbody'), css,
    i = tbodys.length;
while( i-- > 0 ) console.log(
                     tbodys[i],
                     tbodys[i].scrollHeight > tbodys[i].clientHeight,
                     (css = window.getComputedStyle( tbodys[i] )).border,
                     css.margin,
                     css.padding,
                     css.position,
                     css.top
                 );

我不知道这是否适用于所有浏览器,只适用于Google Chrome或更具体的内容。

0 个答案:

没有答案