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