2013-06-20 6 views
125

मैं दो divs पक्ष के पक्ष में रखने और इसके लिए निम्नलिखित सीएसएस का उपयोग करने की कोशिश कर रहा हूँ।तरफ से दो divs - द्रव प्रदर्शन

#left { 
    float: left; 
    width: 65%; 
    overflow: hidden; 
} 

#right { 
    overflow: hidden; 
} 

एचटीएमएल एक रैपर div में सरल, दो बाएं और दाएं div है।

<div id="wrapper"> 
    <div id="left">Left side div</div>  
    <div id="right">Right side div</div> 
</div> 

मैं भी Stackoverflow और अन्य साइटों पर एक बेहतर तरीका के लिए खोज करने के लिए कई बार कोशिश की है, लेकिन सटीक मदद नहीं मिल सका।

तो, कोड पहली नज़र में ठीक काम करता है। समस्या यह है कि बाएं div को पैडिंग/मार्जिन स्वचालित रूप से मिलता है क्योंकि मैं चौड़ाई (%) में वृद्धि करता हूं। तो, 65% चौड़ाई पर, बाएं div में कुछ पैडिंग या मार्जिन होता है और सही div के साथ पूरी तरह से गठबंधन नहीं किया जाता है, मैंने पैडिंग/मार्जिन 0 करने की कोशिश की लेकिन कोई किस्मत नहीं। दूसरा, यदि मैं पृष्ठ में ज़ूम करता हूं, तो बाएं div के नीचे दायां div स्लाइड होता है, इसकी तरल पदार्थ प्रदर्शित नहीं होती है।

नोट: मुझे खेद है, मैंने बहुत खोज की है, इस सवाल से कई बार पूछा गया है लेकिन वे उत्तर मेरी मदद नहीं कर रहे हैं, मैंने समझाया है कि मेरे मामले में क्या समस्या है।

मुझे आशा है कि इसके लिए एक फिक्स होगा।

धन्यवाद।

संपादित करें: क्षमा करें, मुझे HTML समस्या है, दोनों बाएं और दाएं किनारों में दो "बॉक्स" divs थे, वे% में पैडिंग कर रहे थे, इसलिए बाईं तरफ अधिक चौड़ाई के कारण अधिक पैडिंग दिखाया गया। क्षमा करें, इसके बाद के संस्करण सीएसएस सही, अपने तरल पदार्थ प्रदर्शन और फिक्स्ड, गलत सवाल पूछने के लिए खेद है काम करता है ....

+1

दो बॉक्स divs थे? एक बॉक्स div क्या है? यह सवाल स्पष्ट नहीं है। –

उत्तर

65

मेरी वर्तमान साइट के लिए इस सीएसएस का उपयोग करना। यह सही काम करता है!

#sides{ 
margin:0; 
} 
#left{ 
float:left; 
width:75%; 
overflow:hidden; 
} 
#right{ 
float:left; 
width:25%; 
overflow:hidden; 
} 
+4

फ्लोट: बाएं; # राइट पर बहुत महत्वपूर्ण है। – Xdg

+34

आपको सुनकर खुशी हुई और आपने अपना जवाब स्वीकार कर लिया, लेकिन # साइड क्या है? यह आपके मूल प्रश्न में नहीं है। – JMD

+0

फ्लोट का उपयोग करना: दोनों बच्चे (# राइट) पर बाएं पैरेंट div (#wrapper) की ऊंचाई को मार देंगे।तो यह समाधान आवश्यकता पर निर्भर करता है। केवल एक बच्चे को फ्लोट देने के लिए बेहतर है। (# आपके मामले में छोड़ा गया) –

169

Fiddle

इस बजाय की तरह एक प्रणाली का प्रयास करें:

HTML:

<section class="container"> 
    <div class="one"></div> 
    <div class="two"></div> 
</section> 

सीएसएस:

.container { 
    width: 80%; 
    height: 200px; 
    background: aqua; 
    margin: auto; 
    padding: 10px; 
} 
.one { 
    width: 15%; 
    height: 200px; 
    background: red; 
    float: left; 
} 
.two { 
    margin-left: 15%; 
    height: 200px; 
    background: black; 
} 

आप केवल एक div अगर y फ्लोट करने के लिए की जरूरत है कहां पहले div की चौड़ाई के बराबर दूसरे पर मार्जिन-बाएं का उपयोग करें। इससे कोई फर्क नहीं पड़ता कि ज़ूम क्या है और इसमें उप-पिक्सेल समस्याएं नहीं होंगी।

+0

यह मदद नहीं कर रहा है, ज़ूमिंग चीज अब तय की गई है, यह निश्चित है, लेकिन सही div अब नीचे गिर गया है और उस स्थिति पर तय किया गया है – Waleed

+0

आपने शायद कुछ गड़बड़ कर लिया है, अपना कोड जांचें, या मुझे jsFiddle के लिंक को बताएं और बीमार देखो। – dezman

+0

ओह मैन, मुझे खेद है। Divs पहले से ही मेरे उपरोक्त सीएसएस द्वारा तय किए गए थे, जो कि मैंने दिया था, बाएं और दाएं तरफ दोनों में "बॉक्स" divs, पैडिंग और मार्जिन% में था, क्योंकि दायां div छोटा था, क्यों, यह एक्वाल पैडिंग और मार्जिन था। क्षमा करें ... – Waleed

95

यह एक flexbox करना आसान है:

#wrapper { 
    display: flex; 
} 
#left { 
    flex: 0 0 65%; 
} 
#right { 
    flex: 1; 
} 
+2

अच्छा, फ्लेक्सबॉक्स निश्चित रूप से –

+2

जाने का तरीका है, फ्लेक्स को 9 4% ब्राउज़र पर काम करना चाहिए। http://caniuse.com/#search=flex – Adrian

+1

@Adrian यह 20 लोगों में से 1 है जो आपकी साइट का उपयोग करने में असमर्थ हैं ... क्या यह वास्तव में एक विकल्प है? – JoostS

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