Bootstrap modal
automatycznie dodaje klasę modal-open
do ciała, gdy wyświetlane jest modalne okno dialogowe, i usuwa je, gdy okno dialogowe jest ukryte. Dlatego możesz dodać następujące elementy do swojego CSS:
body.modal-open {
overflow: hidden;
}
Można argumentować, że powyższy kod należy do bazy kodu Bootstrap CSS, ale jest to łatwa poprawka, aby dodać go do swojej witryny.
Aktualizacja 8 lutego 2013 r.
To przestało działać w programie Bootstrap w wersji 2.3.0 Twittera - nie dodają już modal-open
klasy do ciała.
Obejściem tego problemu byłoby dodanie klasy do ciała, gdy modal ma zostać pokazany, i usunięcie go, gdy modal jest zamknięty:
$("#myModal").on("show", function () {
$("body").addClass("modal-open");
}).on("hidden", function () {
$("body").removeClass("modal-open")
});
Aktualizacja 11 marca 2013
Wygląda na to, że modal-open
klasa powróci w Bootstrap 3.0, jawnie w celu zapobieżenia przewijaniu:
Ponownie wprowadza .modal-open na ciele (dzięki czemu możemy nuke tam przewijać)
Zobacz: https://github.com/twitter/bootstrap/pull/6342 - spójrz na sekcję modalną .