मैंने इस पर थोड़ा शोध किया है और जो मैंने पाया है उससे आपके पास चार विकल्प हैं:
संस्करण 1: टेबल-सेल के रूप में डिस्प्ले के साथ पैरेंट डिव
अगर आपको display:table-cell
अपने पैरेंट डिव पर इस्तेमाल करने में कोई आपत्ति नहीं है , तो आप निम्नलिखित विकल्पों का उपयोग कर सकते हैं:
.area{
height: 100px;
width: 100px;
background: red;
margin:10px;
text-align: center;
display:table-cell;
vertical-align:middle;
}
लाइव डेमो
संस्करण 2: डिस्प्ले ब्लॉक और कंटेंट डिस्प्ले टेबल-सेल के साथ पैरेंट डिव
.area{
height: 100px;
width: 100px;
background: red;
margin:10px;
text-align: center;
display:block;
}
.content {
height: 100px;
width: 100px;
display:table-cell;
vertical-align:middle;
}
लाइव डेमो
संस्करण 3: पैरेंट डिव फ्लोटिंग और कंटेंट डिव डिस्प्ले टेबल-सेल के रूप में
.area{
background: red;
margin:10px;
text-align: center;
display:block;
float: left;
}
.content {
display:table-cell;
vertical-align:middle;
height: 100px;
width: 100px;
}
लाइव डेमो
संस्करण 4: सामग्री की स्थिति निरपेक्ष के साथ माता-पिता div स्थिति
इस संस्करण के साथ मेरे पास एकमात्र समस्या यह है कि ऐसा लगता है कि आपको हर विशिष्ट कार्यान्वयन के लिए सीएसएस बनाना होगा। इसका कारण यह है कि कंटेंट div के लिए सेट की ऊँचाई होनी चाहिए जो कि आपका टेक्स्ट भरेगा और मार्जिन-टॉप का पता लगाया जाएगा। इस मुद्दे को डेमो में देखा जा सकता है। आप अपनी सामग्री div की ऊँचाई% को बदलकर और इसे अपने मार्जिन-टॉप मान को प्राप्त करने के लिए इसे -.5 से गुणा करके हर परिदृश्य के लिए काम कर सकते हैं।
.area{
position:relative;
display:block;
height:100px;
width:100px;
border:1px solid black;
background:red;
margin:10px;
}
.content {
position:absolute;
top:50%;
height:50%;
width:100px;
margin-top:-25%;
text-align:center;
}
लाइव डेमो