【发布时间】:2013-06-04 04:28:50
【问题描述】:
我正在尝试创建一个高度为浏览器窗口高度百分比的模式对话框。模态框应该有一个最小高度,这样它就不会变得太小,并且应该随着窗口大小的调整而相应地增长/缩小/重新居中。 modal 有一个 header 和一个 footer,它们将 modal-body 内容夹在中间。
这是我到目前为止的想法。如果我垂直调整窗口大小,红色框会正确增长并保持居中。但是,内容区域和页脚似乎并没有一直填充到模态容器的底部(红色框)。
这是怎么回事,我该如何解决?
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)
})
});
【问题讨论】: