Проблема:
В полноразмерном макете приложения (100% ширина, высота 100%) с использованием flexbox с переполнением полосы прокрутки не отображаются для переполнения-y в Firefox/IE/Edge. Они правильно отображаются в Chrome. Вместо того, чтобы иметь вертикальную полосу прокрутки в FF/IE/Edge на элементе, панель прокрутки применяется ко всей странице.
Что я пробовал:
Я попытался добавить, как упоминалось в нескольких других ответах SO, добавить min-height: 0; к элементам flex/родителям. Я не смог заставить это решение работать, но, возможно, я делаю что-то неправильно.
Скриншоты:
Chrome:
Firefox:
Пример:
https://codepen.io/gunn4r/pen/WEoPjN
html {
height: 100%;
}
.flex-grow {
flex: 1;
}
.canvas-wrapper {
overflow: scroll;
}
.canvas {
width: 3000px;
height: 3000px;
}
<link href="#" onclick="location.href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css'; return false;" rel="stylesheet" />
<body class="h-100">
<div class="h-100 container-fluid d-flex flex-column">
<div class="row bg-warning">
<div class="col-12 py-4">Top Bar</div>
</div>
<div class="row no-gutter flex-grow">
<div class="col-9 px-0 d-flex flex-column">
<div class="canvas-wrapper">
<div class="canvas bg-success">
Canvas
</div>
</div>
<div class="bg-danger py-3">
Canvas Footer
</div>
</div>
<div class="col-3 bg-primary">
<div class="sidebar-item">Sidebar</div>
</div>
</div>
<div class="row bg-warning">
<div class="col-12 py-2">Overall Footer</div>
</div>
</div>
</body>