2012-08-01 11 views
6

अंदर मैं निम्नलिखित कोड है:संरेखित 2 divs क्षैतिज एक तिहाई कंटेनर div

<div id="container"> 
    <div id="div1">Div 1</div> 
    <div id="div2">Div 2</div> 
</div> 

मैं # box1 और # box2 एक कंटेनर के अंदर दूसरे के बगल में करने में सक्षम होना चाहता हूँ।

एचटीएमएल:

<div id="container"> 
    <div id="box1" class="inlined"> 
     <div id="box3"></div> 
     <div id="box4"></div> 
    </div> 
    <div id="box2" class="inlined"></div> 
</div> 

सीएसएस:

.inlined 
{ 
    display: inline-block; 
} 

तुम भी .inlined { float: left; } या .inlined { float: right; } इस्तेमाल कर सकते हैं, लेकिन उन आसपास के आधार पर अनपेक्षित व्यवहार हो सकता है कंटेनर कोशिश इस

+0

यू करना एक div के अंदर 2 cols चाहते हैं? –

+1

यह मदद करता है अगर आप हमें बताएं कि वर्तमान में आपके पास कौन सी सीएसएस है, और विशिष्ट समस्या क्या है। – Jeroen

+0

सीएसएस जटिल है प्रत्येक बॉक्स में कई तत्व होते हैं ... मैंने मूल संरचना – cppit

उत्तर

18

इस कंटेनर केंद्र, और दो divs होगा भीतर केंद्रित है, जबकि वास्तविक सामग्री से शैलियों को अलग:

HTML:

<div id="container"> 
    <div>Div 1</div> 
    <div>Div 2</div> 
</div> 

सीएसएस:

#container > div 
{ 
    display: inline-block; 
    border: solid 1px #000; 
} 
#container 
{ 
    border: solid 1px #ff0000; 
    text-align: center; 
    margin: 0px auto; 
    width: 40%; 
} 

कार्य उदाहरण:

http://jsfiddle.net/JLjjK/

2017 अद्यतन:

flexbox और अधिक आम होता जा रहा है। यहाँ flexbox साथ इसी तरह के परिणाम प्राप्त करने के लिए एक तरीका है:

HTML:

<div class="outer"> 
    <div>1</div> 
    <div>2</div> 
</div> 

सीएसएस:

.outer { 
    border: 1px solid #000; 
    display:flex; 
    justify-content: center; 
    padding: 3px; 
} 
.outer > div { 
    border: 1px solid #000; 
    margin:2px; 
} 

उदाहरण: https://jsfiddle.net/pb61a1cj/1/

+3

यह केवल तभी काम करता है जब दोनों divs में बहुत अधिक टेक्स्ट नहीं होता है। – MrSnowflake

+0

@MrSnowFlake यह अभी भी ठीक काम करना चाहिए, आपको केवल divs की चौड़ाई को कंटेनर की चौड़ाई के आधे भाग में सेट करना होगा: http://jsfiddle.net/JLjjK/172/ –

+0

नहीं, यह काम नहीं करता है: http: //jsfiddle.net/JLjjK/203/ – Alex

2

केंद्रित है तत्वों।

+0

मैंने इसे लागू करने का प्रयास किया, लेकिन यह काम नहीं करता है। http://jsfiddle.net/hdk5e/ –

+0

@ रिचर्डब्रोनोस्की वह मूर्ख मेरे लिए काम करता है। यदि यह केंद्रित है, तो मैंने बाहरी div को केंद्र में नहीं रखा क्योंकि ऐसा करने से दो आंतरिक divs पक्ष के पक्ष में नहीं थे (लेकिन div nesting का सबसे निचला स्तर नहीं, यह दिखाने के लिए कि वे अभी भी ढेर हैं)। या आप इस तथ्य का जिक्र कर रहे थे कि दोनों पक्ष-दर-पक्ष divs की मिडल लाइन नहीं है, और इसके बजाय यह गठबंधन की बोतलों है? – JAB

+0

ठीक है, मैं उलझन में था। स्पष्टता के लिए धन्यवाद। मैं "इनलाइन" बॉक्स की सामग्री को क्षैतिज रूप से गठबंधन करने की अपेक्षा कर रहा था, न कि "इनलाइन" बॉक्स स्वयं। यह मुझे और अधिक स्पष्ट बनाता है। http://jsfiddle.net/hdk5e/1/ –

2

मुझे आशा है कि यह आपके लिए क्या देख रहे है .. ।

<style type="text/css"> 
.container{ 
    margin-left: auto; 
    margin-right: auto; 
    width: 300px; 
} 
.box1, .box2 { 
    width:280px; 
    height:auto; 
    float:left; 
    margin-bottom:10px; 
    padding:10px; 
    border:1px solid #888; 
} 
.box1 { 
    clear:left; 
    margin-right:10px; 
} 
.clear { 
    clear:both; 
} 
</style> 



<div id="container"> 
    <div class="box1"> 
     Enter box 1 content here. 
    </div> 
    <div class="box2"> 
     Enter box 2 content here. 
    </div> 
    <div class="clear"></div> 
</div> 
संबंधित मुद्दे