полная ширина верхней навигации прокручиваемая боковая панель с использованием flexbox?

#html #css #flexbox

#HTML #css #flexbox

Вопрос:

Я хотел бы создать дизайн, аналогичный веб-приложению GitLab.

У него есть верхняя панель во всю ширину, а под ней прокручиваемая боковая панель и основная область содержимого. Они используют фиксированные позиции в вашем коде, но мне не нравится фиксированное позиционирование, и я думаю, что тот же результат может быть достигнут с помощью flexbox.

Вы можете найти мой codepen ниже. У меня возникают проблемы, когда нужно прокручивать боковую панель. Похоже, что сторона верхней панели никогда не вычисляется в размерах flexbox, чтобы заполнить весь экран (100vh).

У вас есть какие-либо идеи, почему и могу ли я добиться желаемого макета таким образом?

https://codepen.io/benoitdupont/pen/wvrzvvL

 <!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      * {
        box-sizing: border-box;
      }

      body {
        height: 100vh;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        background-color: black;
        align-items: stretch;
      }

      .header-nav {
        background-color: green;
        height: auto;
      }

      .container {
        display: flex;
        background-color: gray;
        flex-grow: 1;
        height: 100%;
      }

      .sidebar {
        width: 30%;
        background-color: lightblue;
        overflow: auto;
        height: 100%;
      }

      .content {
        background-color: lightgreen;
        flex-grow: 1;
      }
    </style>
  </head>
  <body>
    <div class="header-nav">top fixed header</div>
    <div class="container">
      <div class="sidebar">
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
        sidebar <br />
      </div>
      <div class="content">content</div>
    </div>
  </body>
</html>