Ich versuche, ein Layout mit einer Kopfzeile oben, darunter eine Seitenleiste und den Hauptinhalt zu erstellen.Machen Sie Flex-Elemente in der zweiten Reihe nehmen Sie die verbleibende Höhe des Containers
Ich möchte die Sidebar und die Inhaltsansicht übernehmen den vertikalen Platz links von der Kopfzeile haben. Das Problem ist, dass der Header dynamisch neu skalieren kann, so dass ich keine calc()
ausführen kann. Meine Lösung war das Flexbox-Schema.
Ich unterteilt das Viewport horizontal in zwei Teile. Einer ist der Header und einer ist ein Wrapper für die Sidebar und den Hauptinhalt.
Die Seitenleiste ist links schwebend und hat einen Prozentsatz der Breite und der Inhalt ist rechts schweben und den Rest gegeben.
Das Problem ist, dass ich versuche, die Sidebar immer 100% Höhe der Verpackung zu machen.
Ich versuchte height: 100%
und min-height: 100%
, aber diese funktionieren nicht.
Ich möchte es nicht absolut positionieren, da die Seitenleiste nicht erweitert würde, wenn der Wrapper mit dem Hauptinhalt überlaufen würde.
Hier ist mein Stift: http://codepen.io/markt5000/pen/JXNXpW
Wie Sie die orangefarbenen sehen können, ist der Header und der rote Raum ist die Hülle mit der Seitenleiste und den Inhalt.
hier ist das Layout
<div class="header">
</div>
<div class="row">
<div id="sidebar">
</div>
<div id="main-content">
</div>
</div>
Ja, die einzige Änderung war, min-height so einzustellen, dass es nicht kollabiert, wenn es keinen Inhalt gibt und es wie ein Zauber wirkt. Danke .. http://codepen.io/markt5000/pen/RaVRqX?editors=1100 –