Défilement d'un flexbox à débordement de contenu

Défilement d'un flexbox à débordement de contenu

Voici le code Je suis pour atteindre la disposition ci-dessus:

CSS:

.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;
}

HTML:

<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>

J'ai omis le code utilisé pour le style. Vous pouvez voir tout cela dans le pen.


Les travaux ci-dessus, mais quand le content de la zone de contenu déborde, il rend le défilement des pages. Je veux seulement le contenu de la zone elle-même pour faire défiler, de sorte J'ai ajouté overflow: auto à content div.

Le problème maintenant est que les colonnes elles-mêmes ne s'étendent pas au-delà de leurs parents hauteur, de sorte que les frontières sont coupés de la là aussi.

Voici le pen montrant le défilement de la question.

Comment puis-je régler le content de la zone de défilement de façon indépendante, tout en ayant ses enfants s'étendre au-delà de la content de la boîte de hauteur?