我也有同样的问题。正如接受的答案中那样,使用 Javascript 删除内联样式将删除填充,但直到模态完全显示后才会删除,因此它仍然会导致某种不稳定的行为。最后我用CSS删除了填充,这将确保页面内容不会移动并且始终没有填充。
body.modal-open {
padding-right: 0 !important;
}
希望这对有同样问题的人有帮助。
使用所示函数进行更新:
$('#modal-content').on('shown.bs.modal', function() {
$("body.modal-open").removeAttr("style");
});
或者对于以前版本的 Bootstrap :
$('#modal-content').on('shown', function() {
$("body.modal-open").removeAttr("style");
})
欲了解更多信息,请查看此链接
我知道这是迟了一年的答案,但只是为了让遇到同样问题的人,如果你只是采用迈克尔的解决方案,你可以面对第二个问题,他的解决方案对我有很大帮助,但我面临第二个问题,当打开一些模态时,我只是在某些元素上发生了奇怪的变化,在尝试了一些更改之后,我最终使用了:
body:not(.modal-open){
padding-right: 0px !important;
}
当您打开模态时,您将保留填充,并在不存在时删除填充,这样您不仅可以解决填充问题,还可以解决移位问题(您可以得到这个,但并非总是如此),您还可以保留“ fade”类,这也会导致一些问题。
如果其他方法不起作用那么:
<body style="padding-right:0px !important;">
这将放置 19px 填充,但不会更多..