2011-01-15 7 views
17

मैं माता-पिता/कंटेनर डीआईवी कैसे बढ़ सकता हूं क्योंकि अधिक बच्चे डीआईवी जोड़े जाते हैं।माता-पिता के div अपने बच्चों के साथ कैसे बढ़ते हैं?

<div id="container"> 
    <div id="child" style="height:100px;"> 
    </div> 
    <div id="child2" style="height:100px;"> 
    </div> 
</div> 
+8

क्या यह डिफ़ॉल्ट व्यवहार नहीं है? – Orbling

+0

यह है, लेकिन मैं इसे कैसे बना सकता हूं ताकि यह अपने बच्चों के साथ बढ़ सके? उदाहरण के लिए यदि # कंटेनर की सीमा थी और मैं चाहता था कि उस सीमा को स्वचालित रूप से बढ़ने के साथ जो कुछ भी मैंने डाला हो। –

+0

ऑर्बलिंग कह रही है कि यह डिफ़ॉल्ट रूप से अपने बच्चों के साथ बढ़ता है। – BoltClock

उत्तर

22

केवल कारण है कि अपने माता पिता div अपनी सामग्री के साथ विकसित नहीं होता है, तो यह सामग्री पूर्ण स्थिति में है या तैरता उपयोग कर रहा है, पूर्व मामले में में कुछ भी आपको जावास्क्रिप्ट के साथ यह आकार बदलने की कमी कर सकते हैं, बाद आप अपने अस्थायी तत्वों के अंत में निम्न कोड डाल सकते हैं:

<br style="clear: both"> 

तो कहते हैं कि दोनों अपने उदाहरण में बच्चे तत्वों एक नाव है, कोड इस

<div id="container"> 
    <div id="child" style="height:100px;"> 
      ** CONTENT GOES HERE ** 
      <br style="clear: both"> 
    </div> 
    <div id="child2" style="height:100px;"> 
      ** CONTENT GOES HERE ** 
      <br style="clear: both"> 
    </div> 
</div> 
कैसा लगेगा

आप किसी भी नोड का उपयोग कर सकते हैं, जब तक आप इसे "स्पष्ट: दोनों" का उपयोग करते हैं (इसलिए <div style="clear: both"></div> भी काम करेगा)।

+2

के बजाय '
'का उपयोग करके, आप' # कंटेनर 'शैली में' ओवरफ़्लो: छुपा 'जोड़ सकते हैं। – BoltClock

+0

@ बोल्टक्लॉक जो माता-पिता की ऊंचाई को बहती हुई किसी भी सामग्री को छिपाएगा .. जब तक कि आप एक हैक का जिक्र नहीं कर रहे हैं, मुझे इस बात से अनजान है; कृपया हमें और बताएं :) – Naatan

+3

'ओवरफ़्लो: छुपा' काम जोड़ना क्योंकि कई डॉम तत्व पूरी तरह ऊंचाई सेटिंग को अनदेखा करते हैं जब तक उन्हें स्पष्ट रूप से ऐसा करने का निर्देश नहीं दिया जाता है। 'ओवरफ्लो: छुपा' का उपयोग केवल फ़्लोटिंग वाले बच्चों पर ही काम करेगा। –

21

यदि आपके <div> के अंदर की सामग्री चलती है, तो यह विस्तार नहीं होगी। आप overflow:hidden सीएसएस शैली को पैरेंट <div> पर रख कर आसानी से इसे ठीक कर सकते हैं। ध्यान दें, अगर बच्चे पूरी तरह से तैनात हैं तो यह काम नहीं करेगा। जब आप पूरी तरह से तत्व को स्थिति देते हैं, तो आप इसे दस्तावेज़ प्रवाह से बाहर ले जा रहे हैं। जहां तक ​​पोजीशनिंग का सवाल है, वह तत्व अब "बच्चा" नहीं है, भले ही अर्थात् यह अभी भी है।

<div style="overflow:hidden"> 
    <div style="float:left"> 
    <!--Content--> 
    </div> 
    <div style="float:left"> 
    <!--Content--> 
    </div> 
</div> 
+0

+1: मेरे दिमाग का सीएसएस हिस्सा अब उड़ा है ... उड़ाया। – Spoike

+0

यह आश्चर्यजनक है! मैंने अतीत में इतने लंबे हवादार काम का उपयोग किया है! –

2

प्रदर्शन का उपयोग: अभिभावक div में तालिका इसे बढ़ती है भले ही इसकी सामग्री फ़्लोटिंग तत्व हो। यह div मूल रूप से एक टेबल की तरह व्यवहार करता है।

प्रदर्शन गुण के लिए एक नज़र डालें: http://www.w3.org/wiki/CSS/Properties/display

0

आमतौर पर मैं एक फिक्स वर्ग बनाने के लिए:

.clearfix{clear:both;} 

उसके बाद, आप हमेशा उस का उपयोग कर सकते हैं जब आप की जरूरत है।

<div class='wrapperContainer'> 
    <div class="classFloated"> 
     Content 
    </div> 
    <div class="clearfix"></div> 
    <div class="classFloated"> 
     Content 
    </div> 
    <div class="clearfix"></div> 
</div> 
संबंधित मुद्दे