1

我有一组标题 div 需要匹配它们下面的内容 div 的宽度。通常,内容 div 比标题 div 更薄,并且它们的大小可以变化。

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

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 的溢出设置为“隐藏”和“滚动”,但这没有任何影响。

4

2 回答 2

0

Firefox 似乎包含边框宽度,Chrome 没有。当我在 Firefox 中时,我不得不减去边框宽度。哈基,但它奏效了。

于 2013-01-29T15:05:05.717 回答
0

我在 stackoverflow 上回答了一个类似的问题:为什么在这种情况下,滚动宽度在 Firefox 中不起作用?

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

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

于 2013-04-05T08:40:33.957 回答