2010-11-26 16 views
6

पर जाने के बजाए फ़्लोटेड div shrink बनाना क्या कोई तरीका है कि मैं एक नई लाइन पर जाने के बजाय एक फ़्लोटेड div को सिकुड़ने के लिए मजबूर कर सकता हूं?नई लाइन

मुझे पता है कि मैं divs पर अंतर्निहित चौड़ाई निर्धारित कर सकता हूं लेकिन यह उस मेनू पर है जिसमें वस्तुओं की परिवर्तनीय मात्रा हो सकती है। यदि संभव हो तो साइट के लेआउट तरल पदार्थ को रखते हुए मैं ऐसा करने की कोशिश कर रहा हूं।

कोड

<html> 
<head> 

    <style type="text/css"> 
    #left{ 
     float: left; 
     border: 1px solid #000; 
    } 

    #right{ 
     float: right; 
     border: 1px solid #000; 
    } 
</style> 

</head> 

<body> 

<div id="left"><p>This div represents the logo</p></div> 
<div id="right"><p>When the window's width is reduced and these divs touch 
    I want this div to shrink instead of falling to the next line. 
    </p> 
</div> 

</body> 

</html> 

असल में, मैं #right जब ब्राउज़र विंडो यह वहां एक पंक्ति पहले, तो हटना जब खिड़की आगे का आकार बदलने पर होने के बजाय सिकुड़ रहा है सिकुड़ शुरू करना चाहते हैं दिखाने के लिए संपादित।

+0

फ़्लोटिंग डीआईवी के प्रभावों में से एक यह है कि यह इसकी अंतर्निहित चौड़ाई में "सिकुड़ता है", इसलिए आपको कुछ कोड दिखाना होगा ताकि हम काम कर सकें कि यह एक नई लाइन पर क्यों जा रहा है। –

+0

मैंने उपरोक्त पदों को संपादित किया और कुछ उदाहरण कोड जोड़ा। –

उत्तर

4

क्या आपने इन दो divs सापेक्ष (जैसे प्रतिशत) चौड़ाई देने के साथ प्रयोग करने का प्रयास किया है?

जब आप स्पष्ट रूप से चौड़ाई घोषित किए बिना फ्लोट करते हैं, या तो निश्चित या रिश्तेदार, आयाम 'ऑटो' के लिए डिफ़ॉल्ट हो जाएंगे। ऑटो div की सामग्री की चौड़ाई होने के लिए मजबूर करेगा। जब ब्राउज़र कम हो जाता है, तब भी सामग्री इन बक्से को उस चौड़ाई तक मजबूर कर देगी, जब तक कि इसे किसी अन्य तत्व को स्पर्श करके पतन करने के लिए मजबूर नहीं किया जाता है।

ऑटो चौड़ाई का उपयोग करना आपके लेआउट में तरलता प्राप्त करने का सबसे अच्छा तरीका नहीं है। आपको कहीं किसी प्रकार का सापेक्ष आयाम निर्दिष्ट करने की आवश्यकता होगी, अन्यथा यह समस्या पूरी तरह से अपरिहार्य होगी।

वहां बहुत सारे संसाधन हैं जो आपको अधिक तरल पदार्थ लेआउट प्राप्त करने में मदद कर सकते हैं (www.alistapart.com पर बहुत से लेख इस बात पर चर्चा करते हैं)।

+0

यह पूरी तरह से काम किया। मैंने अभी अनुमान लगाया कि मैं जिस न्यूनतम चौड़ाई का समर्थन करना चाहता था वह था, मेरे लोगो div की चौड़ाई घटा दी गई, फिर शेष चौड़ाई को प्रतिशत के रूप में लिया (यानी 700 पीएक्स न्यूनतम चौड़ाई - 140 पीएक्स लोगो div = 560px या 80%) –

1

सीएसएस की display संपत्ति, इसे inline पर सेट करें और divspan की तरह व्यवहार करेगा।

+0

यह अभी भी अगली पंक्ति में गिर रहा है। रेखा में एक बाएं फ्लोट किए गए तत्व और दाएं फ्लोट किए गए तत्व हैं (लोगो बाएं फ्लोट किए गए हैं, मेनू फ़्लोट किया गया है) –

+1

क्या आप कुछ कोड दिखा सकते हैं ताकि हम देख सकें कि क्या हो रहा है? – cambraca

+0

मैंने कुछ मूल कोड के साथ अपनी मूल पोस्ट संपादित की। –

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