Bootstrap modal
автоматически добавляет класс modal-open
к телу, когда отображается модальное диалоговое окно, и удаляет его, когда диалог скрыт. Поэтому вы можете добавить следующее в свой CSS:
body.modal-open {
overflow: hidden;
}
Вы можете утверждать, что приведенный выше код принадлежит базе кода Bootstrap CSS, но это легко исправить, добавив его на свой сайт.
Обновление 8 февраля 2013 г.
Теперь это перестало работать в Twitter Bootstrap v. 2.3.0 - они больше не добавляют modal-open
класс в тело.
Обходной путь должен был бы добавить класс к телу, когда модал должен быть показан, и удалить его, когда модал закрыт:
$("#myModal").on("show", function () {
$("body").addClass("modal-open");
}).on("hidden", function () {
$("body").removeClass("modal-open")
});
Обновление 11 марта 2013 г.
Похоже, modal-open
класс вернется в Bootstrap 3.0 явно для предотвращения прокрутки:
Повторно вводит .modal-open на теле (чтобы мы могли убрать свиток там)
Смотрите это: https://github.com/twitter/bootstrap/pull/6342 - посмотрите модальный раздел.