我有以下幾點:DIV填充剩下的高度計算
<div id="modal-container">
<div id="modal-body"></div>
<div id="modal-footer"></div>
</div>
我寫了一塊JS的調整#模體,填補可用空間的其餘部分。這實際上是更多的工作似乎比:
$('#modal-body').css({
'height': function() {
// the amount of vertical space we have to work with.
// this is the height of the container (modalView)
var containerHeight = $('#modal-container').height();
// the amount of vertical space the footer takes up
var footerOuterHeight = $('#modal-footer').outerHeight();
// we have to also account for the vertical padding of our div
var paddingTop = $(this).css('padding-top').replace('px', '');
var paddingBottom = $(this).css('padding-bottom').replace('px', '');
var marginTop = $(this).css('margin-top').replace('px', '');
var marginBottom = $(this).css('margin-bottom').replace('px', '');
var borderTop = $(this).css('border-top-width').replace('px', '');
var borderBottom = $(this).css('border-bottom-width').replace('px', '');
return containerHeight-footerOuterHeight-paddingTop-paddingBottom-marginTop-marginBottom-borderTop-borderBottom;
}
});
問題的事實,我們不能爲我們的#模體的「outerHeight」屬性,因此我們必須考慮到,計算它的莖它自己的填充,邊框,邊距等。
無論如何,上面的功能大多是有效的。我的2個問題是:
- 有沒有更好/更簡單的方法來做到這一點?
- 它似乎是1px關閉。 #modal-container有一個滾動條,因爲這一點,如果我減去一個額外的1px,它的工作原理。我錯過了什麼?除了邊距,填充和邊界之外,還有其他事項我必須考慮嗎?
另請參閱我更新的純CSS方法的答案。 – Chris