"वर्टिकल सेंटरिंग केवल तभी संभव है जब तत्व पूरी तरह से स्थित हो और ज्ञात ऊंचाई हो।" - यह कथन बिल्कुल सही नहीं है।
आप display:inline-block;
को आजमा सकते हैं और इसका उपयोग अपने माता-पिता के बॉक्स में लंबवत रूप से संरेखित होने की संभावना है। यह तकनीक आपको इसकी ऊंचाई और चौड़ाई को जानने के बिना तत्व को संरेखित करने की अनुमति देती है, हालांकि कम से कम आपको माता-पिता की ऊंचाई जानने की आवश्यकता होती है।
यदि आपका HTML यह है;
<div id="container">
<div id="aligned-middle" class="inline-block">Middleman</div>
<div class="strut inline-block"> </div>
</div>
और अपने सीएसएस है:
#container {
/* essential for alignment */
height:300px;
line-height:300px;
text-align:center;
/* decoration */
background:#eee;
}
#aligned-middle {
/* essential for alignment */
vertical-align:middle;
/* decoration */
background:#ccc;
/* perhaps, reapply inherited values, so your content is styled properly */
line-height:1.5;
text-align:left;
}
/* this block makes all the "magic", according to http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align specification: "The baseline of an 'inline-block' is the baseline of its last line box in the normal flow, unless it has either no in-flow line boxes or if its 'overflow' property has a computed value other than 'visible', in which case the baseline is the bottom margin edge." */
#container .strut {
/* parent's height */
height:300px;
}
.inline-block {
display:inline-block;
*display:inline;/* for IE < 8 */
*zoom:1;/* for IE < 8 */
}
फिर # गठबंधन मध्यम #container भीतर केंद्रित किया जाएगा। यह इस तकनीक का सबसे सरल उपयोग है, लेकिन यह परिचित होने के लिए एक अच्छा है।
आईई < 8 */"के लिए"/* के साथ चिह्नित नियमों को सशर्त टिप्पणियों के उपयोग के माध्यम से एक अलग स्टाइलशीट में रखा जाना चाहिए।
आप यहाँ इस बात का एक काम उदाहरण देख सकते हैं: http://jsfiddle.net/UXKcA/3/
संपादित करें: (इस विशेष टुकड़ा IE6 और ff3.6 में परीक्षण किया गया है, लेकिन मैं यह एक बहुत का उपयोग करें, यह बहुत पार ब्राउज़र है कि अगर आप की आवश्यकता होगी। एफएफ < 3 के लिए समर्थन, आप भी .inline-block
नियम भीतर display:inline-block;
तहत display:-moz-inline-stack;
जोड़ने के लिए की आवश्यकता होगी।)
स्रोत
2010-05-29 17:19:26
जब आप संरेखण कहते हैं, तो यह स्पष्ट नहीं है कि आप div को संरेखित करना चाहते हैं। क्या आपका मतलब केंद्र div है? –
क्या आप केंद्र – Starx
पर लंबवत रूप से div को संरेखित करना चाहते हैं क्षमा करें, हाँ मेरा मतलब केंद्र संरेखण है। –