我正在尝试创建一个模式对话框,其高度将是浏览器窗口高度的百分比。模态框应该有一个最小高度,这样它就不会变得太小,并且应该随着窗口大小的调整而相应地增长/缩小/重新居中。模态有一个页眉和一个页脚,它们将模态正文内容夹在中间。
到目前为止,这是我想出的。如果我垂直调整窗口大小,红色框会正确增长并保持居中。但是,内容区域和页脚似乎并没有一直填充到模态容器的底部(红色框)。
这是怎么回事,我该如何解决?
HTML:
<div class="modal">
<div class="modal-header">Header</div>
<div class="modal-body">
[...words...]
</div>
<div class="modal-footer">Footer</div>
</div>
CSS:
.modal {
border:1px solid red;
width:600px;
position:absolute;
top:50%;
left:50%;
}
.modal-header, .modal-body, .modal-footer {
padding:10px;
}
.modal-header, .modal-footer {
background:#ccc;
font-weight:bold;
font-size:14px;
}
.modal-body {
height:inherit;
overflow:auto;
line-height:1.75em;
}
jQuery:
$(function() {
$('.modal').css('height','50%');
$('.modal').css( {
'margin-top': (-1*$('.modal').height()/2),
'margin-left': (-1*$('.modal').width()/2)
})
});
$(window).resize(function() {
$('.modal').css( {
'margin-top': (-1*$('.modal').height()/2),
'margin-left': (-1*$('.modal').width()/2)
})
});