उन दो समाधानों में केवल दो नेस्टेड तत्वों की आवश्यकता होती है।
पहला - यदि सामग्री स्थिर (मैनुअल सेंटर) है तो सापेक्ष और पूर्ण स्थिति ।
.black {
position:relative;
min-height:500px;
background:rgba(0,0,0,.5);
}
.message {
position:absolute;
margin: 0 auto;
width: 180px;
top: 45%; bottom:45%; left: 0%; right: 0%;
}
https://jsfiddle.net/GlupiJas/5mv3j171/
या द्रव डिजाइन के लिए - इसके बजाय उदाहरण के लिए सटीक सामग्री केंद्र उपयोग के लिए:
.message {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
https://jsfiddle.net/GlupiJas/w3jnjuv0/
अगर आपको विंडो की ऊंचाई 50% से अधिक होगी, तो आपको 'न्यूनतम ऊंचाई' सेट करनी होगी। आप मोबाइल और टैबलेट उपकरणों के लिए मीडिया क्वेरी के साथ इस ऊंचाई में हेरफेर भी कर सकते हैं। लेकिन केवल अगर आप उत्तरदायी डिजाइन के साथ खेलते हैं।
मुझे लगता है कि आप आगे जा सकते हैं और किसी कारण के लिए आवश्यकता होने पर न्यूनतम ऊंचाई या निश्चित ऊंचाई में हेरफेर करने के लिए सरल जावास्क्रिप्ट / JQuery स्क्रिप्ट का उपयोग कर सकते हैं।
दूसरा - यदि सामग्री द्रव है तो आप वर्टिकल अलाइनमेंट और टेक्स्ट-अलाइन सेंटर्ड के साथ टेबल और टेबल-सेल सीएसएस प्रॉपर्टीज का भी उपयोग कर सकते हैं:
/*in a wrapper*/
display:table;
तथा
/*in the element inside the wrapper*/
display:table-cell;
vertical-align: middle;
text-align: center;
वर्क्स और स्केल, अक्सर ग्रिड लेआउट और मीडिया क्वेरी के साथ उत्तरदायी वेब डिज़ाइन समाधान के रूप में उपयोग किया जाता है जो ऑब्जेक्ट की चौड़ाई में हेरफेर करता है।
.black {
display:table;
height:500px;
width:100%;
background:rgba(0,0,0,.5);
}
.message {
display:table-cell;
vertical-align: middle;
text-align: center;
}
https://jsfiddle.net/GlupiJas/4daf2v36/
मैं सटीक सामग्री केंद्र के लिए तालिका समाधान पसंद करता हूं, लेकिन कुछ मामलों में रिश्तेदार पूर्ण स्थिति बेहतर काम करेंगे, खासकर अगर हम सामग्री संरेखण का सटीक अनुपात नहीं रखना चाहते हैं।