Wie kann ich den Inhalt von einem festen element Scrollbar nur wenn es über die Höhe des Viewports?
Ich habe eine div
positioniert fixed
auf der linken Seite einer web-Seite mit Menü-und Navigations-links. Es hat keine Höhe festlegen von css, die Inhalte bestimmt, die Höhe, die Breite ist fest. Das problem ist, dass wenn der Inhalt zu viel, die div
wird größer sein als das Fenster in der Höhe, und ein Teil des Inhalts nicht sichtbar sein. (Scrollen Sie das Fenster hilft nicht, da die position ist fixed
und die div
nicht scrollen.)
Ich versuchte, zu overflow-y:auto;
das hilft aber nicht, entweder, die div scheint nicht zu bemerken, dass ein Teil davon außerhalb des Fensters.
Wie kann ich es machen das der Inhalt Scrollbar nur wenn benötigt, wenn die div
hängt aus dem Fenster?
- Eine Lösung mit CSS calc() kann hier gefunden werden : stackoverflow.com/q/29754195/3168107.
calc()
ist ein experimental-Technologie und kann unerwartetes Ergebnis. Wenn Sie sich entscheiden, es zu benutzen, stellen Sie sicher, Sie wissen, Ihre Zielgruppe und testen Sie es im Browser.- Lief in gleichen problem, und verwendet so etwas wie max-height: calc(100vh - 100px); wo meine navbar und Polster waren bis zu 100px
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie wahrscheinlich nicht. Hier ist etwas, das nahe kommt. Bekommen Sie keine Inhalte, die Strömung um, falls es Raum unten.
http://jsfiddle.net/ThnLk/1289
Können Sie eine prozentuale Höhe sowie:
http://jsfiddle.net/ThnLk/1287/
Den link unten zeigen, wie ich das bewerkstelligen. Nicht sehr schwer - nur verwenden Sie einige clevere front-end-dev!!
http://jsfiddle.net/RyanBrackett/b44Zn/
Müssen Sie wahrscheinlich einen inneren div. Mit css ist:
Versuchen, diese auf Ihrer position:fixed element.
Dies ist absolut machbar mit einigen flexbox-Magie. Haben Sie einen Blick auf diese Stift.
Müssen Sie css so:
Diese arbeiten werden in IE10+
Hier ist die Reine HTML-und CSS - Lösung.
Erstellen wir einen container box für die Navigationsleiste mit
position: fixed;
height:100%;
Dann erstellen wir eine innere box mit
height: 100%;
overflow-y: scroll;
Als Nächstes haben wir die Inhalte im inneren der box.
Hier ist der code:
CSS:
HTML:
Link zu jsFiddle:
Ich präsentiere diese als Abhilfe eher als eine Lösung. Dies kann nicht die ganze Zeit arbeiten. Ich habe es auf diese Art mache ich eine sehr einfache HTML-Seite für den internen Gebrauch, in einem sehr bizarren Umgebung. Ich weiß, es gibt Bibliotheken, wie MaterializeCSS, die das tun, wirklich nett nav bars. (Ich wollte, Sie zu benutzen, aber es funktionierte nicht mit meinem Umfeld.)
Fügen Sie diese zu Ihrem code für "Feste Höhe" und fügen Sie eine schriftrolle.
max-height
können nichtauto
developer.mozilla.org/en-US/docs/Web/CSS/max-heightich glaube nicht, dass das funktionieren wird oder sonst werden Sie haben, um ein Skript schreiben, dass für.
wenn ich dein problem richtig dann werde ich schlage vor, Sie verwenden diese Art von Lösung