Ваши самые глубокие два div не прокручивают, потому что они фактически не переполняются.Если вы укажете высоту этих двух элементов (и высоту родительских элементов), вы увидите, что они имеют высоту почти 3000 пикселей и достаточно места для всего вашего текста.
Dev Инструменты, показывающие высоту одного из элементов div
Они кажутся сжатыми до небольшого размера, поскольку переполнение .route-container
скрыто.См .:
.route-container {
display: grid;
grid-template-columns: 0.2fr 0.8fr;
grid-template-rows: auto;
grid-template-areas: "sidemenu container";
max-height: 100%;
overflow: hidden;
background: magenta;
}
Чтобы решить эту проблему, я бы использовал display: flex;
вместо display: grid;
.Результат позволил этим двум полям прокручиваться по отдельности.
html body {
margin: 0;
}
#app {
width: 100vw;
height: 100vh;
background: black;
display: flex;
flex-direction: column;
}
#navbar {
width: 100vw;
height: 20vh;
background: cyan;
}
.route-container {
display: flex;
flex-direction: row;
background: magenta;
height: 85vh;
}
.outer-side-menu {
background: orange;
width: 100%;
}
.outer-container {
background: yellow;
display: flex;
flex-direction: column;
}
.tab-menu {
background: red;
}
.tab-container {
background: purple;
}
.content-container {
display: flex;
flex-direction: row;
max-height: 75vh;
overflow: hidden;
font-size: 144px;
background: teal;
}
.inner-menu {
overflow-y: scroll;
background: pink;
}
.inner-content {
overflow-y: scroll;
background: teal;
}
Сетка, вероятно, слишком ограничительна, чтобы позволить внутренним элементам прокручиваться без одновременной прокрутки «Вкладок» и «Бокового меню».