2012-02-20 5 views
24

मैं एक आंतरिक div चाहता हूं कि विभिन्न आकार के कंटेनर divs के अंदर साइटें हों, और एक निश्चित बाएं स्थिति पर शुरू हो जाएं और फिर एक चौड़ाई है जो भरती है बाकी कंटेनर ऊपर। मैंने बिंदु प्राप्त करने का प्रयास करने के लिए नीचे कुछ उदाहरण सीएसएस शामिल किया है।मैं एक पूर्ण स्थानांतरित div को अपने माता-पिता के बराबर चौड़ाई कैसे बना सकता हूं कुछ मार्जिन

मुझे पूर्ण स्थिति का उपयोग करना है, इसलिए बस दाएं फ्लोट नहीं कर सकते हैं और बाएं-मार्जिन सेट कर सकते हैं। इस काम को पूर्ण स्थिति के साथ कैसे बनाया जाए? मैंने चौड़ाई भी कोशिश की है: ऑटो और कुछ अलग-अलग बॉक्स आकार के विकल्प।

स्पष्टीकरण के लिए, इसकी चाल यह है कि बाएं सीमा को ठीक करना है, और बाएं सीमा को कंटेनर की दाहिनी सीमा के विरुद्ध होना चाहिए। मैं स्थिति का उपयोग नहीं कर सकता: सापेक्ष, और जावास्क्रिप्ट, लेकिन मैं शायद ऐसा करने से पहले .inner1 और .inner2 divs को हार्ड-कोड वाली चौड़ाई के साथ बनाना समाप्त कर दूंगा। लेकिन इससे बचने की उम्मीद है।

.container1 { 
    position: relative; 
    width: 400px; 
    height: 300px; 
} 

.container2 { 
    position: relative; 
    width: 500px; 
    height: 300px; 
} 

.inner { 
    position: absolute; 
    top: 0px; 
    left: 200px; 
    height: 100%; 
    width: 100%; 
} 

enter image description here

+0

आप जावास्क्रिप्ट में ऐसा करने की कोई जरूरत नहीं है जावास्क्रिप्ट –

+1

उपयोग करने की अनुमति नहीं है। नीचे दिए गए सभी उदाहरण सीएसएस में हैं। – tkone

उत्तर

48

बस top, left, bottom, और right सभी गुणों की निर्दिष्ट करें और बॉक्स उन बिंदुओं के सभी पर होना का विस्तार होगा।

.container { 
    position: relative; 
    width: 400px; 
    height: 300px; 
} 

.inner { 
    position: absolute; 
    top: 0; 
    left: 200px; 
    bottom: 0; 
    right: 0; 
} 

See the jsFiddle.

+0

यह अच्छा है, इसलिए 0 मान अनिवार्य रूप से ब्राउज़र को डिफ़ॉल्ट रूप से उपयोग करने के लिए कह रहे हैं? –

+2

@ जेरेमी: नहीं, यह शीर्ष से बॉक्स 0 लंबाई और नीचे से 0 लंबाई की स्थिति को इंगित करने के लिए कह रहा है, जो संक्षेप में बॉक्स को ऊपर से नीचे तक फैलाता है। बाएं से 200px और दाईं ओर से 0 लंबाई कहकर बाएं तरफ बाएं तरफ 200px स्थिति से बॉक्स को दाहिने ओर ले जाता है। दोनों पक्षों को निर्दिष्ट किए बिना, यह इसकी सामग्री के आधार पर बॉक्स की चौड़ाई और/या ऊंचाई का उपयोग करेगा। ध्यान दें कि आपको 0 के लिए "पीएक्स" निर्दिष्ट करने की आवश्यकता नहीं है 0 0 हमेशा 0 है, इससे कोई फर्क नहीं पड़ता कि यह किस माप में है, इसलिए हम सुरक्षित रूप से * बस * 0. – animuson

2

मैं वास्तव में क्या आप की जरूरत है, लेकिन आप प्रतिशत क्यों इस्तेमाल नहीं करते नहीं मिलता?

बजाय

: तदनुसार छोड़ दिया और चौड़ाई विशेषता के लिए

.inner { 
    position: absolute; 
    top: 0px; 
    left: 50%; 
    height: 100%; 
    width: 50%; 
} 

सेटअप प्रतिशत:

.inner { 
    position: absolute; 
    top: 0px; 
    left: 200px; 
    height: 100%; 
    width: 100%; 
} 

आप की तरह कुछ क्यों प्रयोग नहीं करते। 40-60, 30-70 और इतने पर।

उम्मीद है कि इससे मदद मिलती है। यदि नहीं, तो कृपया थोड़ा और निर्दिष्ट करें।

सम्मान

1

यह काम करता है। बाहरी बॉक्स की चौड़ाई को जो कुछ भी आप चाहते हैं उसे बदलें और आंतरिक बॉक्स इसे मिलान करने के लिए बढ़ता है।

.container { 
    width: 400px; 
    height: 300px; 
} 

.inner { 
    position: relative; 
    margin-left: 200px; 
    height: 100%; 
} 

संपादित करें: here's a fiddle

+0

का उपयोग कर सकते हैं। उन्होंने पूछा कि इसे पूर्ण स्थिति के साथ कैसे पूरा किया जाए। – JackHasaKeyboard

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

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