我在使用Bootstrap Modal(Bootstrap 2.3.2)时遇到了一个非常令人沮丧的问题,我正在使用它进行文件上传窗口。可能需要注意的是,这是一个嵌套模式,但这是我遇到此自动重新调整大小问题的唯一实例。我有6个其他辅助模态,从主要产品编辑器模式打开,在打开/关闭后没有调整大小。
还值得注意的是,对于没有此调整大小问题的其他模态,它们没有被分配自定义宽度值。
这是两个图像,第一个是我第一次打开模态,第二个是它调用模态('隐藏')然后再用模态打开('show');
http://i.imgur.com/2cj2k2I.png(先打开)http://i.imgur.com/bDIa2mp.png(第二次打开)
这是创建代码:
$('#mediaModal').modal({
show: false,
keyboard: false,
width: '60%',
maxHeight: '600px',
backdrop: 'static'
});
您会在屏幕截图中注意到它位于较大的产品编辑器模式上。上传完成后,或点击取消按钮,(或点击上传按钮,没有要上传的文件),只需简单调用:
$('#mediaModal').modal('hide');
在主模式上,每次点击“上传媒体”按钮时,它只会调用$('#mediaModal').modal('show');
。
为了解决这个问题,我尝试在显示之前手动调整主modal
css宽度,如下所示:
$('#mediaModal').modal().on('show', function() {
$(this).find('.modal').css({
width: '60%'
});
});
这应该确保主模态窗口宽度保持在60%的原始定义。但是,它没有任何区别。模态第一次打开时,它占宽度的60%。随后的任何开口,它的尺寸都缩小了。它在第一次隐藏后不会继续收缩,但我也无法保持原始所需的宽度。
最后一点 - 它只是改变宽度,可能是因为这是一个百分比值。
感谢您的帮助!我真的不擅长CSS,所以我猜你的CSS巫师会知道什么事情几乎立即发生!如果我没有提供足够的信息,请留言,我将添加到这篇文章。
(注意:升级到BS 3不是一个选项,代码库需要数周才能清理)