2010-10-13 14 views
12

बदल जाता है जब मैं निम्नलिखित चलाने का प्रयास:फ्लोटिंग छवि कंटेनर div की ऊंचाई

​#container { 
    background:#000; 
} 

मैं एक काले रंग की पृष्ठभूमि कंटेनर की तरह मैं चाहता हूँ के साथ एक DIV मिलती है:

​<div id="container"> 
    //This is a 200x200 image   
    <img src="http://dummyimage.com/200x200/CCC/000" /> 
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 
सीएसएस के साथ

हालांकि, जब मैं सीएसएस के लिए निम्नलिखित जोड़ें:

#container img { 
    float:left; 
} 

यह इसके अंदर छवि पता नहीं लगा पाया कंटेनर की तरह लगता है और इसकी ऊंचाई कम से कम पर सेट है (यहां देखा जा सकता: http://jsfiddle.net/wc4GJ/)।

कंटेनर डीआईवी की ऊंचाई को बाएं गड़बड़ में छवि कैसे तैरते हैं?

धन्यवाद,

योएल

उत्तर

26

जोड़े overflow:auto; को #container

(नीचे स्पष्टीकरण)

+0

क्यों एक छवि जोड़ना चाहिए (एक निश्चित चौड़ाई और ऊंचाई के साथ) डीआईवी के लिए एक ओवरफ्लो के रूप में माना जाना चाहिए? – Joel

+6

क्योंकि फ़्लोटिंग तत्व को प्रवाह से बाहर ले जाता है, जिसका अर्थ है कि मूल तत्व में अब कोई सामग्री नहीं है जो इसकी ऊंचाई निर्धारित करती है। अतिप्रवाह जोड़ना: छुपा/ऑटो; माता-पिता को यह सुनिश्चित करता है कि यह अपनी सामग्री को ठीक से लपेटता है। – PatrikAkerstrand

+0

मैं आपसे सहमत हूं ^^ – MatTheCat

0

आप img के बाद एक समाशोधन div जोड़ने की जरूरत:

​<div id="container"> 
    //This is a 200x200 image   
    <img src="http://dummyimage.com/200x200/CCC/000" /> 
    <div class="clearing"></div> 
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

और सीएसएस में:

.clearing { clear: both; } 
+0

इसका कारण क्या है? कंटेनर डीआईवी इसके अंदर एक छवि को पहचान नहीं लेना चाहिए, भले ही यह बाईं ओर तैरता हो? – Joel

+0

पॉलिमर कंटेनरों की एक सूची में यूट्यूब वीडियो एम्बेड करने के लिए मेरे लिए अच्छा काम किया, जहां ओवरफ्लो: ऑटो ने काफी काम नहीं किया (वीडियो का विस्तार हुआ और सूची में बाद के कंटेनरों को टक्कर लगी, लेकिन एम्बेडिंग कंटेनर विस्तार नहीं हुआ) – user2778525

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