Flexbox kullanarak bir DIV'yi başka bir DIV içinde ortalıyorum. Gerektiğinde ekranın ortasında açılan bir iletişim penceresi düşünün.
İyi çalışıyor, ancak iletişim kutusunun üstündeki ve altındaki alan tam olarak eşit değilse, kalan alanın% 40'ının iletişim kutusunun üstünde ve% 60'ın altında olması daha iyi görünecektir. İletişim yüksekliği, içindeki metin miktarına göre değiştiği için zorlaşır.
Örneğin, tarayıcı yüksekliği 1000 piksel ve iletişim penceresi yüksekliği 400 piksel ise, kalan dikey alanın (600 piksel) iletişim kutusunun 240 piksel ve 360 piksel altında olmasını istiyorum. Javascript ile yapabilirdim, ama CSS ile akıllı bir yol olup olmadığını merak ediyorum. #DialogBox DIV için bir alt kenar boşluğu eklemeyi denedim, ancak iletişim yüksekliği tarayıcı yüksekliğine yaklaştığında çalışmıyor.
#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>