1

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

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

当我在打开的页面上测试它时(stackoverflow 问题),我注意到问题和答案的<table>and<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 或更具体的浏览器。

4

0 回答 0