2012-08-01 63 views
6

里面我有以下代码:对齐2周的div水平第三div容器

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

我希望能有#盒1和#BOX2一个容器内旁边其他。集装箱集中

+0

你是否想要一个div内的2个cols? – 2012-08-01 18:02:00

+1

如果您告诉我们您目前有什么CSS,以及具体问题是什么,它会有所帮助。 – Jeroen 2012-08-01 18:02:45

+0

css很复杂每个盒子都带有几个元素...我试图通过提供一个基本结构来简化代码 – cppit 2012-08-01 18:08:51

回答

18

这将中心集装箱,并有两个div内它为中心,而从实际的内容分离的样式:

HTML:

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

CSS:

#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> 

CSS:

.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

这只适用于两个div没有太多文本的情况。 – MrSnowflake 2013-11-12 08:45:59

+0

@MrSnowFlake它应该仍然可以正常工作,您只需将div的宽度设置为容器宽度的一半:http://jsfiddle.net/JLjjK/172/ – 2013-11-12 14:10:16

+0

不,它不起作用:http: //jsfiddle.net/JLjjK/203/ – Alex 2013-12-08 21:01:52

2

试试这个:

HTML:

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

CSS:

.inlined 
{ 
    display: inline-block; 
} 

你也使用.inlined { float: left; }.inlined { float: right; },但这些可以根据周围的意外行为元素。

+0

我试着实现这个,但它不起作用。 http://jsfiddle.net/hdk5e/ – 2013-12-09 23:27:36

+0

@RichardBronosky那个小提琴适合我。如果它是居中,我没有将外部div对中,因为这样做并不涉及将两个内部div并排(但不是嵌套div的最内层,以显示那些仍然堆叠)。或者你提到的事实是两个并排divs的中间不排队,而是底部对齐? – JAB 2013-12-10 20:02:34

+0

好的,我很困惑。感谢您的澄清。我期待“内联”盒装的内容水平对齐,而不是“内联”盒本身。这让我更加清楚。 http://jsfiddle.net/hdk5e/1/ – 2013-12-10 20:48:07

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>