У меня есть оболочка div
, которая имеет динамическую c высоту, но обычно не должна превышать высоту окна.
Внутри оболочки есть два столбца, каждый с переменной высотой в зависимости от содержимого
Левая колонка всегда должна отображаться без внутренней прокрутки, если она глубже, чем высота окна, то оболочка должна прокручиваться.
Правая колонка должна прокручиваться внутри, если она глубже чем высота окна, и это не должно делать прокрутку оболочки.
Используя сетку CSS Я могу заставить этот макет работать, когда правый столбец глубже левого, ограничив высоту правого столбца, но когда левый столбец превышает высоту оболочки и вызывает его прокрутку, я хочу, чтобы правый столбец соответствовал его высоте, и я не могу найти способ сделать это.
Я создал упрощенный пример, демонстрирующий макет.
.wrapper {
display: grid;
grid-column-gap: 16px;
grid-template-columns: auto 33%;
}
.item:first-child {
background-color: red;
}
.item:last-child {
background-color: blue;
overflow-y: auto;
}
.child {
background-color: white;
height: 50px;
margin: 20px;
width: calc(100% - 40px)
}
<html>
<body>
<div class="wrapper">
<div class="item">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
<div class="item">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
</div>
</body>
</html>