Я потратил несколько часов, пытаясь заставить это работать. У меня есть (полный экран) модал, и он сгибает свое тело, чтобы расти в соответствии с модалом. Внутри этого тела у меня есть контейнер, строка и 2 столбца. Поскольку модальное тело не имеет установленной высоты, я не могу ограничить высоту (может быть, максимальную высоту) столбца, чтобы он переполнялся.
Как правильно добиться ожидаемого поведения в этот сценарий? Я хочу, чтобы модальное тело учитывало высоту экрана, но активировало переполнение столбца.
https://jsfiddle.net/f3t5p6xq
<div class="modal" id="fullModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Full Screen Modal</h4>
</div>
<div class="modal-body">
<div style="width: 80%; display: inline-block;">asd</div>
<div
class="overflow-auto"
style="width: 20%; display: inline-block"
>
Right Column
<p>
new line<br />new line<br />new line<br />new line<br />new
line<br />new line<br />new line<br />new line<br />new line<br />new
line<br />new line<br />new line<br />new line<br />new line<br />new
line<br />new line<br />new line<br />new line<br />new line<br />new
line<br />new line<br />new line<br />new line<br />new line<br />new
line<br />new line<br />new line<br />new line<br />new line<br />new
line<br />new line<br />new line<br />new line<br />new line<br />new
line<br />
</p>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-secondary">
Save
</button>
</div>
</div>
</div>
</div>
<button
id="fullModalButton"
type="button"
class="btn btn-primary"
data-toggle="modal"
data-target="#fullModal"
>
Click me
</button>
CSS
p {
line-height: 50px;
}
.modal-dialog {
padding: 0.5rem;
margin: 0;
width: 100%;
max-width: 100%;
height: 100vh;
max-height: 100vh;
}
.modal-content {
display: flex;
flex-direction: column;
height: 100%;
max-height: 100%;
}
.modal-body {
/* modal-body dimensions are automatically calculated, since it uses flex */
/* the body expands, while header and footer have fixed height */
}
.container-fluid {
/* since modal-body doesn't have a height set, I can't set max-height in this element */
}
.row {
/* since container-fluid doesn't have a height set, I can't set max-height in this element */
}
.col-4 {
overflow: auto;
/* since row doesn't have a height set, I can't set max-height in this element */
/* this causes this column to overflow */
}