Bootstrap modal
ajoute automatiquement la classe modal-open
au corps lorsqu'une boîte de dialogue modale est affichée et le supprime lorsque la boîte de dialogue est masquée. Vous pouvez donc ajouter ce qui suit à votre CSS :
body.modal-open {
overflow: hidden;
}
On pourrait arguer que le code ci-dessus appartient à la base de code CSS de Bootstrap, mais il s'agit d'une correction facile pour l'ajouter à votre site.
Mise à jour du 8 février 2013
Cela ne fonctionne plus dans Twitter Bootstrap v. 2.3.0 -- ils n'ajoutent plus l'élément modal-open
au corps.
Une solution de contournement consisterait à ajouter la classe au corps lorsque la modale est sur le point d'être affichée, et à la supprimer lorsque la modale est fermée :
$("#myModal").on("show", function () {
$("body").addClass("modal-open");
}).on("hidden", function () {
$("body").removeClass("modal-open")
});
Mise à jour du 11 mars 2013 On dirait que le modal-open
reviendra dans Bootstrap 3.0, explicitement dans le but d'empêcher le défilement :
Réintroduction de .modal-open sur le corps (pour que l'on puisse y supprimer le scroll)
Voir ça : https://github.com/twitter/bootstrap/pull/6342 - regardez le Modal section.