आप उपयोग कर सकते हैं line-height: 50px;
, आपको vertical-align: middle;
वहां जरूरत नहीं होगी ।
डेमो
इसके बाद के संस्करण, यदि आप कई लाइनों है असफल हो जायेगी ताकि मामले में आप का उपयोग कर अपने पाठ लपेट कर सकते हैं span
उपयोग की तुलना में और display: table-cell;
और display: table;
के साथ vertical-align: middle;
, यह भी उपयोग करने के लिए मत भूलना width: 100%;
के लिए#abc
डेमो
#abc{
font:Verdana, Geneva, sans-serif;
font-size:18px;
text-align:left;
background-color:#0F0;
height:50px;
display: table;
width: 100%;
}
#abc span {
vertical-align:middle;
display: table-cell;
}
एक अन्य समाधान मैं यहां सोच सकता हूं कि transform
संपत्ति का उपयोग करना है translateY()
जहां Y
स्पष्ट रूप से वाई एक्सिस के लिए खड़ा है। यह बहुत सीधे आगे है ... आपको बस इतना करना है कि तत्वों की स्थिति absolute
और बाद की स्थिति 50%
को top
नकारात्मक अक्ष के साथ अक्ष से और अनुवाद से सेट करें-50%
div {
height: 100px;
width: 100px;
background-color: tomato;
position: relative;
}
p {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
डेमो
ध्यान दें कि यह पुराने ब्राउज़रों पर समर्थित नहीं होगा, उदाहरण के लिए IE8, लेकिन आप क्रमशः IE9 और क्रोम और फ़ायरफ़ॉक्स के अन्य पुराने ब्राउज़र संस्करणों का उपयोग करके -ms, -moz
और -webkit
उपसर्ग बना सकते हैं।
अधिक जानकारी के लिए transform
, आप यहाँ देख सकते हैं ।