在显示模式对话框时,Bootstrap会modal
自动将类添加modal-open
到主体,而在对话框隐藏时将其删除。因此,您可以将以下内容添加到CSS中:
body.modal-open {
overflow: hidden;
}
您可能会争辩说,上面的代码属于Bootstrap CSS代码库,但这是将其添加到您的站点的简便解决方案。
2013年2月8日更新
这已经在Twitter Bootstrap 2.3.0版中停止了工作-他们不再将modal-open
类添加到正文中。
一种解决方法是在要显示模式时将类添加到主体,并在关闭模式时将其删除:
$("#myModal").on("show", function () {
$("body").addClass("modal-open");
}).on("hidden", function () {
$("body").removeClass("modal-open")
});
2013年3月11日更新
看起来modal-open
该类将在Bootstrap 3.0中返回,明确地是为了防止滚动:
在主体上重新引入.modal-open(因此我们可以在此处滚动滚动条)
请参阅:https : //github.com/twitter/bootstrap/pull/6342-查看“ 模态”部分。