Вот прямоугольник в центре области просмотра. Пока коробка меньше высоты контейнера, она отображается в центре по вертикали. Когда поле выше, его верх скрыт, и его нельзя прокрутить.
<!DOCTYPE html>
<html style = "height: 100%; ">
<body style = "height: 100%; ">
<div style = "display: flex; justify-content: center; height: 100%; ">
<div style = "align-self: center; ">
<div style = "width:10vw; border: 3px solid blue; margin:10px; background-color:fuchsia;">abc</div>
</div>
</div>
</body>
</html>Теперь измените текст div на длинный:
<!DOCTYPE html>
<html style = "height: 100%; ">
<body style = "height: 100%; ">
<div style = "display: flex; justify-content: center; height: 100%; ">
<div style = "align-self: center; ">
<div style = "width:10vw; border: 3px solid blue; margin:10px; background-color:fuchsia;">abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc</div>
</div>
</div>
</body>
</html>и верхняя часть окна не видна и не прокручена.
Как мне заставить его показать верхнюю часть коробки и позволить мне прокрутить до остального, если он выше, чем его контейнер, и все же центрировать его по вертикали, если он короче? Метод НЕ должен предполагать известную высоту содержимого. Возможно, содержание неизвестного текста.






Как насчет overflow-y: auto;?
<!DOCTYPE html>
<html style = "height: 100%; ">
<body style = "height: 100%; ">
<div style = "display: flex; justify-content: center; height: 100%; overflow-y: auto;">
<div style = "align-self: center; ">
<div style = "width:10vw; border: 3px solid blue; margin:10px; background-color:fuchsia;">abc</div>
</div>
</div>
</body>
</html>