私は次のものを持っています:
<div id="modal-container">
<div id="modal-body"></div>
<div id="modal-footer"></div>
</div>
#modal-bodyを調整して、使用可能な残りのスペースを埋めるために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;
}
});
この問題は、#modal-bodyに「outerHeight」プロパティを設定できないため、独自のパディング、境界線、マージンなどを考慮して計算する必要があるという事実に起因しています。
とにかく、上記の機能はほとんど機能します。私の2つの質問は次のとおりです。
- これを行うためのより良い/より簡単な方法はありますか?
- 1pxオフのようです。#modal-containerにはこのためスクロールバーがあり、余分な1pxを差し引くと機能します。私は何が欠けていますか?余白、パディング、境界線以外に考慮しなければならないことはありますか?