Javascript Webkit和Firefox之间的“scrollWidth”行为不一致

Javascript Webkit和Firefox之间的“scrollWidth”行为不一致,javascript,html,firefox,webkit,Javascript,Html,Firefox,Webkit,我有一组标题div,需要与下面内容div的宽度匹配。通常,content div比header div薄,并且大小可以不同 因此,我要做的是设置标题div的宽度以匹配内容div的宽度。然后,因为我希望标题和内容足够宽,以不截断任何单词,所以我检查每个标题的scrollWidth属性以查看其是否大于offsetWidth属性,然后设置标题的scrollWidth的内容和标题宽度 header.style.width = tableCell.offsetWidth + "px"; if (heade

我有一组标题div,需要与下面内容div的宽度匹配。通常,content div比header div薄,并且大小可以不同

因此,我要做的是设置标题div的宽度以匹配内容div的宽度。然后,因为我希望标题和内容足够宽,以不截断任何单词,所以我检查每个标题的scrollWidth属性以查看其是否大于offsetWidth属性,然后设置标题的scrollWidth的内容和标题宽度

header.style.width = tableCell.offsetWidth + "px";
if (header.scrollWidth > header.offsetWidth) {
    content.style.width = header.scrollWidth + "px";
    header.style.width = header.scrollWidth + "px";
}
这在Safari和Chrome中非常有效,但在FireFox中根本不起作用。在Firefox中,scrollWidth返回与标题设置宽度相同的值

听起来是使用你说的桌子的好时机,但我不能。页眉需要在页面顶部保持静态


那么,在这些条件下,我如何让Firefox返回与scrollWidth等价的值呢?我尝试将标题div的溢出设置为hidden和scroll,但没有任何效果。

Firefox似乎包含边框宽度,Chrome没有。在Firefox中,我不得不减去边框宽度。有点老套,但它奏效了。

我回答了一个关于stackoverflow的类似问题:

问题是,当溢出可见时,Firefox会为scrollWidth返回clientWidth值

我为Firefox找到的解决方法是将溢出设置为隐藏,获得正确的滚动宽度,并将溢出恢复为可见。更多详细信息和代码请参见链接