2013-07-18 8 views
16

Wenn sich mein modales Popupfenster öffnet, wird eine vertikale Bildlaufleiste rechts neben dem Browserfenster hinzugefügt. Wie deaktiviere ich das? Ich denke, das ist aktiviert, wenn das modale Fenster einen sehr großen Wert hat, wo es scrollen muss. Ich möchte dies deaktivieren, da meine Formularhöhe die Fensterhöhe nicht überschreitet.Bootstrap: Wie zum Deaktivieren der vertikalen Bildlaufleiste?

+0

hat das wenig zu mach mit Bootstrap. Machen Sie sich mit den Entwicklungstools von Firebug oder Chrome vertraut und überprüfen Sie die HTML-Struktur. Ändern Sie bei Bedarf mit CSS. – isherwood

+0

Ich vermute, dass dies ein Hinweis auf ein anderes Problem ist - vielleicht ein schlechtes Markup. Achten Sie darauf, zu validieren. –

+2

@isherwood - Dies hat mit Bootstrap zu tun. Wie in der folgenden Antwort alx gezeigt, enthält Bootstrap 3 tatsächlich die Anweisung .modal {overflow-y: scroll; } Keine Ahnung, warum es nicht automatisch ist, aber auf jeden Fall ... –

Antwort

27

in Ihrem CSS add:

body { 
    overflow-y:hidden; 
} 
+4

Es fügt dem Körper auch eine Modal-Open-Klasse hinzu, die einen 15px-Rand rechts hinzufügt, möglicherweise um den Scollbar zu kompensieren, aber den Inhalt nach links verschiebt wenn die Bildlaufleiste nicht sichtbar ist. diese Definition hinzufügen, dass entfernen: 'body.modal offen, .modal offene .navbar-Festplatte, .modal offene .navbar fest Boden { \t margin-right: 0; } ' – sp00n

0

Wenn das Modell Fensterhöhe nicht mehr als normale Fensterhöhe ist, macht es keinen Sinn, die die Bildlaufleiste angezeigt werden soll. Überprüfen Sie das Wetter, das <div></div> verwendet, um den Hintergrund hinter dem Modellfenster verblassen hat eine zusätzliche Höhe als der Aussichtspunkt.

29

Ich habe das gleiche Problem mit Bootstrap 3.0.0. Es scheint, dass .modal Klasse hat overflow-y: scroll Regel, die Scrollbar immer sichtbar führt.

So können Sie diese Änderung entweder lokal:

<div class="modal" ... style="overflow-y: auto;"> 
    ... 
</div> 

oder global:

<style> 
.modal { 
    overflow-y: auto; 
} 
</style> 
+1

Nice1! Dies funktioniert wie erwartet und sollte die gewählte Antwort sein. Vielen Dank. – metamagicson

+0

Die Frage ist: Warum setzt Bootstrap es so? Ich würde es nicht anfassen, wenn ich nicht genau wüsste, was vor sich ging. Fragte unter: https://github.com/twbs/bootstrap/issues/7972 –

+0

Ich musste auch die Auffüllung von Body-Tag entfernen. Diese Kombination hat also für mich funktioniert. .modal {Überlauf-y: Auto;} .modal-open {padding-right: 0! wichtig;} – JacobLett

0

style In den Körper als:

body { 
    padding-right: 0px !important; 
    overflow-y: hidden !important; 
} 
Verwandte Themen