Я попытался создать разделенное представление с помощью CSS, я создал демонстрацию, чтобы проиллюстрировать свою идею.
https://codepen.io/anon/pen/VRgbpN
Я хочу иметь column 1 и column 2, у обоих будет независимая полоса прокрутки, чтобы я мог прокручивать их отдельно. Я пытаюсь использовать сетку css и обнаружил, что не могу установить высоту column 1 и column 2 такой же высоты, как container. Если бы я мог это сделать, возможно, я мог бы использовать overflow: scroll, чтобы это произошло. Но я попробовал множество решений и обнаружил, что не могу установить высоту: 100% работает. Что я сделал не так? Есть ли лучшее решение для решения этой проблемы? Спасибо.






Добавьте flex: 1, если вы хотите, чтобы навигация и контент также заполняли всю ширину вашего контейнера.
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
width: 100%;
height: 100%;
}
.container {
width: 100%;
height: 100%;
border: 3px dotted red;
display: flex;
}
.navi, .content {
overflow-y: scroll;
/* flex: 1 */
}
.navi {
border: 3px dotted blue;
}
.content {
border: 3px dotted yellow;
}<div class = "container">
<div class = "navi">
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
<div>Column 1</div>
</div>
<div class = "content">
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
<div>Column 2</div>
</div>
</div>Измените объявление grid-template-column на grid-template-rows: 1fr, а затем добавьте grid-column: 1; в свой класс navi и grid-column: 2; в свой класс содержимого. Наконец, дайте обоим декларацию overflow-y: scroll;.
Большое спасибо, не могли бы вы сказать мне, что это не работает с сеткой CSS?