Div vertikale Bildlaufleiste anzeigen

87

Ich frage mich, wie es möglich ist, den vertikalen Balken eines Div (ausgegraut, wenn kein Bildlauf ausgeführt wird) dauerhaft anzuzeigen, ähnlich wie bei unseren regulären Balken. Grundsätzlich versuche ich, eine ganze Website in einem Div zu platzieren (wie Google Mail / Facebook). Wenn die Seite also nicht lang genug ist, verschiebt sich die gesamte Seite aufgrund des Fehlens der vertikalen Bildlaufleiste.

Ich brauche eine Lösung für dieses Problem. Ich habe versucht, overflow-y: scroll. Aber es scheint überhaupt nicht zu funktionieren.

Alec Smart
quelle

Antworten:

181

In welchem ​​Browser testen Sie?

Welchen DOCType haben Sie eingestellt?

Wie genau deklarieren Sie Ihr CSS?

Bist du sicher, dass du kein ;vorher / nachher verpasst hast overflow-y: scroll?

Ich habe gerade Folgendes in IE7 und Firefox getestet und es funktioniert gut

<!-- Scroll bar present but disabled when less content -->
<div style="width: 200px; height: 100px; overflow-y: scroll;">
  test
</div>

<!-- Scroll bar present and enabled when more contents -->        
<div style="width: 200px; height: 100px; overflow-y: scroll;">
  test<br />
  test<br />
  test<br />
  test<br />
  test<br />
  test<br />
  test<br />
  test<br />
  test<br />
  test<br />
</div>

Eoin Campbell
quelle
Wird auch in IE7 und FireFox getestet und funktioniert nur <div style = "overflow-y: scrol"> Hallo </ div>.
Staale
1
Dies ist das Stylesheet, das ich verwende: #main_container {width: 100%; Hintergrundfarbe: #eeeeee; Überlauf-y: scrollen; Höhe: 100%; Position: absolut; }
Alec Smart
<! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.01 Transitional // DE" " w3.org/TR/html4/loose.dtd ">
Alec Smart
Oh, es funktioniert jetzt ... danke ... ich habe vielleicht ein Style-Tag mit der Aufschrift overflow: auto in der div platziert, das meine externe CSS überschrieben hat ...
Alec Smart
30

Hast du es versucht overflow-y:auto? Es ist nicht genau das, was Sie wollen, da die Bildlaufleiste nur bei Bedarf angezeigt wird.

kgiannakakis
quelle
28

Immer: Wenn Sie immer eine vertikale Bildlaufleiste wünschen, verwenden Sieoverflow-y: scroll;

jsFiddle:

<div style="overflow-y: scroll;">
......
</div>

Bei Bedarf : Wenn Sie nur bei Bedarf eine vertikale Bildlaufleiste benötigen, verwenden Sie overflow-y: auto;(In diesem Fall müssen Sie eine Höhe angeben).

jsFiddle:

<div style="overflow-y: auto; height:150px; ">
....
</div>
Razan Paul
quelle