Ich habe keine Ahnung, warum dies geschieht. Modale Beispiele auf der Bootstrap-Website funktionieren einwandfrei.
Wie auch immer, hier ist was ich getan habe.
Ich habe das Viewport-Meta-Tag geändert, damit Safari nicht zoomt. Ich wollte auch nicht den Zoom vom Benutzer wegnehmen, also änderte ich ihn zurück, als der Benutzer das Modal wegwarf.
zu zwingen, um den Zoom zu stoppen:
$('#myModal').on('show.bs.modal', function (e) {
document.querySelector('meta[name="viewport"]').content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0';
})
es zu Standard zurück zu ändern:
$('#myModal').on('hidden.bs.modal', function (e) {
document.querySelector('meta[name="viewport"]').content = 'viewport" content="width=device-width, initial-scale=1';
})
dies funktionierte für mich, ich hatte zuvor den Code wie unten, wo es den Meta-Inhalt aktualisiert, aber das hat in meinem Fall nicht funktioniert. Ich habe die beiden obigen css-Anweisungen in einem einzigen css body.modal-open zusammengefasst. – Ron
FWIW: Einstellung 'body {padding-right: 0px! Wichtig;}', der 'body' auf jeder Seite/Ansicht in Ihrer Website/App unabhängig davon, ob ein Modal sichtbar ist oder nicht wird' padding-right: 0px; '. Dies kann negative Auswirkungen auf Bereiche Ihrer App haben. Wenn Sie das 'padding-right' in' .model-open {} 'verschieben, haben Sie das gleiche Ergebnis, stellen aber sicher, dass der 'body' nur auf diese Weise ausgeführt wird, wenn ein Modal geöffnet ist. Dies funktioniert, weil die Klasse ".modal-open" an das Tag "body" angehängt ist, nicht an ein verschachteltes Tag innerhalb des "body". Gehen Sie auch auf Spezifität, indem Sie die Regel als body.modal-open {...} definieren, wenn Sie das möchten. – WizzyBoom
Ein Problem, das ich auf einer von uns verwalteten Website bemerkte, war, dass einige Inhalte (absichtlich) außerhalb der Ansicht gezwängt wurden. Daher wurde die Körperbreite auf 100% festgelegt, indem sie durch Vererbung an die HTML-Breite angepasst wurde die Fensterbreite. – JSess