Смотрю разные сайты, примеры, обсуждения и рекомендации — для вертикального выравнивания блока в контейнере (и чтобы работало во всех браузерах) до сих пор применяются различные пляски с бубном.
На W3 в 2014-м об этом писали:
At this time (2014), a good way to center blocks vertically without using absolute positioning (which may cause overlapping text) is still under discussion. Но подобные дискуссии велись и за десять лет до этого, а в итоге до сих пор ничего однозначного не родили.
Кто в теме — поясните, пожалуйста, какие принципиальные проблемы могут столько лет не давать прийти к соглашению? Если в контейнере давно и успешно выравнивается по вертикали текст, высота которого зависит от кучи параметров — что мешает точно так же выровнять блок? Если вертикальное выравнивание в таблице прекрасно работало еще 25 лет назад — почему до сих пор единственным надежным способом является применение таблиц вместо div-блоков?