2011-08-23 27 views
5

के साथ दो तत्वों को फ़्लोट करना मेरे पास दो divs तरफ हैं। मैं div को चाहता हूं जो बाएं हाथ की ओर है ताकि जितना अधिक कमरे ले सके, उसे अन्य div (दाएं) को अगली पंक्ति में धक्का दिए बिना चाहिए।सीएसएस -

यहाँ मैं अभी है: http://jsfiddle.net/RALza/

एचटीएमएल

<div id="container"> 
    <div id="divA"> left text </div> 
    <div id="divB"> right text </div> 
</div> 

सीएसएस

#divA 
{ 
    float:left; 
    border:1px solid blue; 
    width:100%; 
} 

#divB 
{ 
    float:right; 
    border:1px solid red; 
} 

उत्तर

4
<div id="container"> 
    <div id="divB"> right text </div> 
    <div id="divA"> left text </div> 
</div> 

#divA 
{ 
    overflow:auto; 
    border:1px solid blue; 
} 

#divB 
{ 
    float:right; 
    border:1px solid red; 
} 

काम करेंगे।

लेकिन आपको फ़्लोटिंग तत्वों की चौड़ाई निर्दिष्ट करनी चाहिए। http://jsfiddle.net/RALza/6/

यह दो divs के आदेश को बदलने और एक नाव के बिना पहली div एक सामान्य ब्लॉक तत्व बनाकर काम करता है:

+0

बाएं हाथ की ओर div की सामग्री बदलता रहता है। तो मैं चौड़ाई निर्दिष्ट नहीं कर सकता। –

+0

@ dev.e.loper: आपको 'चौड़ाई' निर्दिष्ट करने की आवश्यकता नहीं है। – thirtydot

+0

मेरा मतलब है कि मेरे कोड में # डीआईवीबी (लेकिन ऐसा लगता है कि यह आवश्यक नहीं है: http://www.w3.org/TR/CSS2/visudet.html#float-width) – MatTheCat

1

इस बेला की कोशिश करो।

<div id="container"> 
    <div id="divB"> right text </div> 
    <div id="divA"> left text </div> 
</div> 

और

#divA 
{ 
    border:1px solid blue; 
} 

#divB 
{ 
    float:right; 
    border:1px solid red; 
} 
+0

पर एक चौड़ाई (चौड़ाई या अधिकतम चौड़ाई के साथ) जोड़ें, हालांकि निम्न कार्य करता है हालांकि diva में बहुत सारे टेक्स्ट हैं। एक div दूसरे में चला जाता है। http://jsfiddle.net/RALza/16/ –

1

आप सीएसएस लचीला बॉक्स का उपयोग कर सकते हैं:

#container { 
 
    display: flex; 
 
    justify-content: space-between; 
 
}
<div id="container"> 
 
    <div id="divA">left text</div> 
 
    <div id="divB">right text</div> 
 
</div>