मैं एक फ्लेक्सबॉक्स का उपयोग करके एक अन्य डीआईवी के अंदर एक डीआईवी को केंद्रित कर रहा हूं। एक डायलॉग विंडो के बारे में सोचें जो स्क्रीन के केंद्र में जरूरत पड़ने पर पॉप अप हो।
यह ठीक काम करता है, हालांकि यह बहुत बेहतर लगेगा यदि संवाद के ऊपर और नीचे का स्थान बिल्कुल बराबर नहीं था, शेष स्थान का 40% ऊपर और 60% नीचे संवाद होगा। यह मुश्किल हो जाता है क्योंकि संवाद ऊंचाई पाठ की मात्रा के अंदर बदलती है।
उदाहरण के लिए, यदि ब्राउज़र की ऊंचाई 1000 px है, और संवाद विंडो की ऊंचाई 400 px है, तो मैं चाहता हूं कि शेष ऊर्ध्वाधर स्थान (600 px) 240 px ऊपर और 360 px संवाद के नीचे हो। मैं इसे जावास्क्रिप्ट के साथ कर सकता था, लेकिन अगर सीएसएस के साथ कुछ चतुर तरीका है तो मैं उत्सुक हूं। मैंने #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>