
Hier ist der Code, mit dem ich das obige Layout erreiche:
.header {
height: 50px;
}
.body {
position: absolute;
top: 50px;
right: 0;
bottom: 0;
left: 0;
display: flex;
}
.sidebar {
width: 140px;
}
.main {
flex: 1;
display: flex;
flex-direction: column;
}
.content {
flex: 1;
display: flex;
}
.column {
padding: 20px;
border-right: 1px solid #999;
}
<div class="header">Main header</div>
<div class="body">
<div class="sidebar">Sidebar</div>
<div class="main">
<div class="page-header">Page Header. Content columns are below.</div>
<div class="content">
<div class="column">Column 1</div>
<div class="column">Column 1</div>
<div class="column">Column 1</div>
</div>
</div>
</div>
Ich habe den für das Styling verwendeten Code weggelassen. Sie können alles im Stift sehen .
Das Obige funktioniert, aber wenn der contentInhalt des Bereichs überläuft, wird die gesamte Seite gescrollt. Ich möchte nur, dass der Inhaltsbereich selbst gescrollt wird, also habe ich overflow: autodem contentdiv hinzugefügt .
Das Problem dabei ist nun, dass die Spalten selbst nicht über die Höhe ihrer Eltern hinausragen, sodass auch dort die Ränder abgeschnitten werden.
Hier ist der Stift, der das Bildlaufproblem zeigt .
Wie kann ich festlegen, dass der contentBereich unabhängig gescrollt wird, während die untergeordneten Elemente weiterhin über die contentHöhe der Box hinausragen ?


