【发布时间】:2013-04-05 06:51:56
【问题描述】:
jQuery 的.width() 方法似乎没有考虑滚动条。这对我来说是个问题,因为我想将一些孩子的宽度设置为等于他们父母的宽度。我使用的jQuery类似于以下:
$('#contentDiv').width($('#containerDiv').width())
在此示例中,#contentDiv 是我想要调整大小的元素,我想将其设置为具有 #containerDiv 的宽度,这是它的父元素。我的问题是这切断了#contentDiv 的一面,如this fiddle. 中所见
在我的实际代码中,我有几个使用 jQuery 调整大小的元素,它们都需要适合可滚动的 div,因此仅将 #contentDiv 的 css 设置为 100% 是不可行的。在 jQuery 中处理 div 的滚动条宽度的最佳方法是什么?
【问题讨论】:
-
这有一个问题,因为不同的浏览器实现滚动条的方式不同。 IE 将滚动条放在 div 区域之外(根据标准文档,这实际上是正确的),而所有其他浏览器实际上在该区域内都有滚动条。只是在研究这个领域时要记住的一点。
-
jquery - how to get screen width without scrollbar? 可能重复(使用
innerWidth())? -
这是一个混乱的主题,因为它在所有浏览器中都不一致。有些会给你一个内部宽度,有些会给你滚动条的宽度。我认为您可能需要针对您计划支持的每个浏览器提出一个特定的解决方案
-
@FabrizioCalderan:不,这个问题是关于窗户的。这个问题是关于一个元素的。
-
@jeffrey-blake 和 ckersch:我建议您编辑标题以明确这个问题是关于元素,而不是浏览器宽度,以便像 FabrizioCalderan 这样的用户更清楚地区分它。
标签: javascript jquery css