Я пытаюсь создать веб-приложение, которое занимает все окно и использует собственный механизм внутренней прокрутки. Я не хочу, чтобы какой-либо контент находился за пределами окна браузера.
Сейчас я пытаюсь использовать макет, который включает в себя гибкий контейнер, настроенный для гибких столбцов, который имеет фиксированную панель навигации заголовка, а затем область содержимого, в которой будут отображаться динамические данные, и будет иметь полосу прокрутки для просмотра переполнения содержимого. Таким образом, второй заголовок всегда будет на странице. Я использую Angular для этого, и поскольку маршрутизируемый компонент добавляет еще один уровень в DOM перед заголовком и содержимым div
s, гибкий контейнер не ограничивает их высоту.
.page {
display: flex;
flex-flow: column;
height: 100%;
max-height: 100vh;
}
.header {
flex: 1 1 50px;
border: 3px solid red;
}
.container {
display: flex;
flex: 1 1 auto;
flex-flow: column;
padding: 20px;
}
.dynamic-content {
flex: 1 1 auto;
border: 3px solid blue;
overflow-y: scroll;
display: flex;
flex-flow: column;
}
.item {
font-size: 40px;
}
<div class='page'>
<div class="header">
Head
</div>
<div class="container">
<app-component _nghost class="ng-star-inserted">
<div class="header">SubHeader</div>
<div class='dynamic-content'>
<div class="item">item</div>
<div class="item">item</div>
<div class="item">item</div>
<div class="item">item</div>
<div class="item">item</div>
<div class="item">item</div>
<div class="item">item</div>
<div class="item">item</div>
</div>
</app-component>
</div>
Я хочу, чтобы div.container
занимал только оставшуюся высоту страницы, а div.dynamic-content
не изменял размер при добавлении элементов за нижнюю границу, а вместо этого обрезал любое переполнение и отображал полосу прокрутки, чтобы добраться до остальное содержимое. Таким образом, как вспомогательный заголовок div
, так и основная головка div
всегда будут отображаться на экране, когда пользователь прокручивает страницу вниз.
angular-router-endpoint
и angular-routed-component
div
s, как их классы описывают, - угловой угловой маршрутизатор-выход и пользовательский угловой компонент, вставляемый торговой точкой. Насколько мне известно, компонент не может быть стилизован напрямую.