В настоящее время у меня есть макет страницы, в котором один столбец представляет навигацию, а другой - контент.
.bg-1{
background-color:orange;
height: 400px;
overflow-y: auto;
}
.bg-2{
background-color: red;
height: 200px
}
.row{
align-items:flex-start;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class='container'>
<div class='row'>
<div class='col-3 bg-1'>
Nav<br/>
Hello<br/>
Hello<br/>
Hello<br/>
I need a scrollbar!<br/>
And only be as tall as my red neighbor!
</div>
<div class='col-9 bg-2'>Content<br/>I can be as tall as I want!</div>
</div>
</div>
Теперь я не возражаю против увеличения содержимого div (красного цвета) и увеличения его высоты. Навигация также должна следовать примеру и расти вместе с содержимым div.
Однако навигация тоже иногда становится довольно большой. Проблема в том, что он заставляет пользователя прокручивать содержимое до нижней части навигационной панели. Я бы предпочел, чтобы он слушал высоту содержимого и использовал полосу прокрутки для любого переполнения.
Как мне настроить мой css, чтобы div содержимого мог увеличивать весь гибкий контейнер столько, сколько ему нужно, пока навигационная панель заблокирована до высоты div контента и использует полосу прокрутки для ее переполнения?
Я пытался:
Установка максимальной высоты для родительского контейнера. Он не ограничивает навигационный блок
Установка максимальной высоты навигационного блока. Я не могу найти значение, которое позволяет ему соответствовать содержимому div.
Использование align-items: flex-start. Это только останавливает увеличение содержимого div, но пользователю все равно приходится проходить мимо содержимого div внизу навигационной панели. Я хочу сфокусироваться на контенте, поэтому панель навигации должна использовать полосу прокрутки, если она больше, чем div контента.
Спасибо!