2011-02-09 14 views
6

भरें, मेरे पास दो divs हैं, सही एक 80px चौड़ा है और दूसरे को शेष स्थान भरना चाहिए। अब तक मैंने कोशिश की:आप एक दूसरे के बगल में दो divs कैसे डालते हैं ताकि वे उपलब्ध स्थान

<!DOCTYPE html> 

<html> 
<head> 
    <title>#{get 'title' /}</title> 
    <style type="text/css"> 
     body { 
      margin: 0; 
      padding: 0; 
     } 

     #left { 
      position: relative; 
      margin-right: 80px; 
      background-color: red; 
     } 

     #right { 
      float: right; 
      position: relative; 
      text-align: left; 
      width: 80px; 
      background-color: yellow; 
     } 
    </style> 
</head> 
<body> 
<div id="left"> 
    Left 
</div> 
<div id="right"> 
    Right 
</div> 
</body> 
</html> 

हालांकि, दायां बॉक्स हमेशा बाएं बॉक्स के नीचे रखा जाता है और इसके ठीक नहीं होता है। मुझे लगता है कि यह मार्जिन की वजह से है। मैंने मार्जिन-बाएं भी कोशिश की: -80 पीएक्स सही पर लेकिन यह कुछ भी बदलने के लिए प्रतीत नहीं होता है। तो मुझे सीएसएस को कैसे बदलना है ताकि सही div एक ही पंक्ति में बाएं div के रूप में हो?

उत्तर

13

बाईं ओर से div सही है।

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

Working Example

+0

यह काम करता है, और सुझाव दिया समाधान का सबसे आसान हो रहा है। धन्यवाद! मुझे जो नहीं मिला वह यह क्यों काम कर रहा है। क्या आप समझा सकते हैं क्यों? –

+0

चूंकि तत्वों को क्रम में खींचा जाता है, दाएं तत्व को दाएं खींचने के लिए बाएं तत्व से नीचे जाने की बजाए, दाएं पहले खींचा जाता है और बाएं दाएं तत्व के चारों ओर खींचा जाता है। –

+0

मैं देखता हूं। धन्यवाद :) –

2

ऐसा इसलिए है क्योंकि div एक ब्लॉक तत्व है, जिसका अर्थ यह हमेशा प्रवाह टूट जाएगा है। आप क्या कर सकते हैं div के display से inline और float से left दोनों में बदल सकते हैं।

+0

'डिस्प्ले: इनलाइन' का उपयोग करके सामग्री तत्व की चौड़ाई को परिभाषित करेगी, जिसके परिणामस्वरूप '# बाएं' तत्व 'चौड़ाई' के बिना दाएं तरफ दाएं तरफ नहीं है। – Sotiris

1

आप position:relative;#right से position:absolute;top:0;right:0; बदल सकते हैं। यह तत्व को अपने माता-पिता के दाएं कोने में रखेगा।

उदाहरण: http://jsfiddle.net/WaQGW/

3

वैकल्पिक रूप से, आप बाईं div के लिए देख रहे हैं एक स्थिर चौड़ाई और सही div विस्तार करने के लिए और पृष्ठ के आकार के साथ अनुबंध पर रहने के लिए, आप निम्न कोड का उपयोग करेंगे :

.left { 
    float: left; 
    position: relative; 
    width: 80px; 
    background-color: red; 
} 

.right { 
    position: relative; 
    text-align: left; 
    margin-left: 80px; 
    background-color: yellow; 
} 

और एचटीएमएल होगा ...

<div class="left">Left</div> 
<div class="right">Right</div> 
1

आजकल यह flex के साथ किया जा सकता है।

सेट कंटेनर की (इस मामले में body) flex को display संपत्ति, छोड़ दिया div100% के तो सेट चौड़ाई।

body { 
 
    margin: 0; 
 
    padding: 0; 
 
    display: flex; 
 
} 
 

 
#left { 
 
    background-color: red; 
 
    width: 100%; 
 
} 
 

 
#right { 
 
    width: 80px; 
 
    background-color: yellow; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title>#{get 'title' /}</title> 
 
</head> 
 
<body> 
 
<div id="left"> 
 
    Left 
 
</div> 
 
<div id="right"> 
 
    Right 
 
</div> 
 
</body> 
 
</html>

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