jQuery:视口的DIV fill剩余部分的高度计算

jQuery:视口的DIV fill剩余部分的高度计算,jquery,height,viewport,Jquery,Height,Viewport,我试图计算窗口的剩余高度,减去所有其他页面元素的高度,这样我就可以将所述高度分配给DIV。我想我的结构是正确的,只是语法不确定 $('#container').height($(window).height() - $('#a, #b, #c, #d').height()); 我认为你的语法是正确的。您的JSFIDLE无法工作,因为您没有包含jQuery插件。请参见jQuery。height仅获取所选元素集中第一个元素的高度。因此,您需要分别选择每一个,并获得其自身的高度 从文档中: 获取匹配

我试图计算窗口的剩余高度,减去所有其他页面元素的高度,这样我就可以将所述高度分配给DIV。我想我的结构是正确的,只是语法不确定

$('#container').height($(window).height() - $('#a, #b, #c, #d').height());

我认为你的语法是正确的。您的JSFIDLE无法工作,因为您没有包含jQuery插件。请参见jQuery。height仅获取所选元素集中第一个元素的高度。因此,您需要分别选择每一个,并获得其自身的高度

从文档中:

获取匹配元素集中第一个元素的当前计算高度,或设置每个匹配元素的高度


更新的Fiddle:

关于jsfiddle,您是对的,但是高度仍然不正确。它没有使div成为页面上剩余空间的确切高度。它比较高,可能是v型的吗?那可能是个打字错误谢谢Jasper!那很有效!我忘了考虑边距,我以为边距会包含在元素高度中,但我猜不会。现在我要讨论的是:在您看来,切换到填充并用CSS解决问题,还是通过jQuery解决问题,这是一个更优雅的解决方案?@patrick看一看。outerHeighttrue用于获取元素的高度,包括填充和可选边距:。更新的小提琴:
$('#container').height($(window).height() - $('#a').height() - $('#b').height() - $('#c').height() - $('#d').height());