Я центрирую DIV всередині іншого DIV за допомогою флекси. Придумайте діалогове вікно, яке спливе в центрі екрана, коли це необхідно.
Це працює чудово, однак це виглядало б набагато краще, якби простір над і під діалоговим вікном був не рівним, маючи 40% решти місця вище, а 60% нижче діалогового. Це стає складним, оскільки висота діалогу змінюється залежно від кількості тексту всередині.
Так, наприклад, якщо висота браузера становить 1000 пікс, а висота діалогового вікна - 400 пікс, я хочу, щоб решта вертикального простору (600 пікселів) була на 240 пікс вище та на 360 пікс нижче діалогового вікна. Я міг би це зробити за допомогою Javascript, але мені цікаво, якщо є якийсь розумний спосіб із CSS. Я спробував додати нижній запас у #dialogBox DIV, але це не працює, коли діалогова висота наближається до висоти браузера.
#dialogBoxPanel
{
position:absolute;
display:flex;
align-items:center;
justify-content:center;
left:0px;
top:0px;
width:100%;
height:100%;
}
#dialogBox
{
width:350px;
}
<div id="dialogBoxPanel">
<div id="dialogBox">Text</div>
</div>