2012-08-28 17 views
10

मैं आज कुछ बुनियादी सीएसएस को आजमाने की कोशिश कर रहा हूं और मैंने एक समस्या में ठोकर खाई। मुझे उम्मीद है कि कोई मेरी मदद कर सकता है।मैं लंबवत रूप से स्थिति को संरेखित कैसे कर सकता हूं: सापेक्ष तत्व

मैं पैरेंट कंटेनर कैनवास में लंबवत केंद्र को कैसे संरेखित कर सकता हूं जिसमें स्थिति है: इसके सापेक्ष? माता-पिता के कंटेनर में स्थिति वाला बच्चा तत्व होता है: इसके लिए पूर्ण। बच्चे तत्व को मूल कंटेनर के केंद्र में रखा गया है।

मैंने इसके लिए एक JSFiddle बनाया है। http://jsfiddle.net/exmRf/

चीयर्स, वेन।

उत्तर

10

एक समाधान करने के लिए प्रयोग किया जाता है रैप करने के लिए प्रयोग किया जाता है अपने दो रैपर के साथ .container; पहले एक display: table; और height: 100%; width: 100%; और दूसरा display: table-cell; और vertical-align: middle; दें। यह भी सुनिश्चित करें कि आपका body और html पूर्ण ऊंचाई है।

यहां एक छोटा काम करने वाला डेमो है: little link

एक और तरीका top: 50%; को .container और margin-top: -150px; (300px/2 = 150px) पर लागू करना है। (ध्यान दें कि इस विधि के लिए आपको अपने कंटेनर की सटीक ऊंचाई जानने की आवश्यकता है, इसलिए ठीक वही नहीं हो सकता है जो आप चाहते हैं, लेकिन यह भी हो सकता है!)। इस बाद की विधि का एक छोटा कामकाजी डेमो: another little link

मुझे आशा है कि इससे मदद मिलेगी!

+0

वाह, धन्यवाद! यह काम करता है, सिर्फ उत्सुक है, क्या यह करने का एकमात्र तरीका है? क्या यह सबसे सुरुचिपूर्ण तरीका है? मैं ऐसे समाधान की तलाश में हूं जो आधुनिक ब्राउज़रों में काम करता है। तो पुराने ब्राउज़र मुझसे कोई फर्क नहीं पड़ता। – Vennsoh

+0

@Vennsoh किसी अन्य समाधान के लिए मेरे अद्यतन उत्तर की जांच करें। – Chris

+0

धन्यवाद! मुझे कभी नहीं पता था कि शरीर को ऊंचाई क्यों चाहिए: इस काम के लिए 100%?कोई त्वरित जवाब? – Vennsoh

-1

Demo

शीर्ष

अब इस सीएसएस करने के लिए इस्तेमाल की चौड़ाई या मार्जिन टॉप छमाही के अपने itemleft 50% और top 50% और margin-left आधा के बारे में बताएं

.container{ 
    position: relative; 
    width: 300px; 
    height: 300px; 
    background-color: red; 
    margin:auto; 
} 

.item{ 
    position: absolute; 
    width: 100px; 
    height: 100px; 
    background-color: blue; 
    left:50%; 
    top:50%; 
    margin-left:-50px; 
    margin-top:-50px; 
} 

Demo

अगर आप स्थिति नहीं है की तुलना में इस http://jsfiddle.net/exmRf/16/

+0

IE8 पर काम नहीं करता है। – Chris

+0

हाय रोहित, मेरा प्रश्न स्पष्ट नहीं करने के लिए खेद है। मैं चाहता हूं कि कैंसर में मूल कंटेनर को लंबवत रूप से केंद्रित करना है। मैं मूल तत्व के भीतर बच्चे तत्व को स्थान देने के तरीकों की तलाश नहीं कर रहा हूं। – Vennsoh

+1

इस http://jsfiddle.net/exmRf/16/ –

संबंधित मुद्दे

 संबंधित मुद्दे