如何使用CSS并排3个div

我知道如何使2个div并排浮动,只需将一个浮动到左边,另一个向右浮动。

但如何做到这一点与三个div或我应该使用表格为此目的?

只要给他们一个宽度和float: left; ,这里是一个例子:

 <div style="width: 500px;"> <div style="float: left; width: 200px;">Left Stuff</div> <div style="float: left; width: 100px;">Middle Stuff</div> <div style="float: left; width: 200px;">Right Stuff</div> <br style="clear: left;" /> </div> 

现代的方式是使用CSS3 flexbox

 .container { display: flex; } .container > div { flex: 1; /*grow*/ } 
 <div class="container"> <div>Left div</div> <div>Middle div</div> <div>Right div</div> </div> 

这与两个div的做法是一样的,只是将第三个向左或向右移动。

 <style> .left{float:left; width:33%;} </style> <div class="left">...</div> <div class="left">...</div> <div class="left">...</div> 

把他们全部留下

确保宽度被指定,他们都可以适应他们的容器(或者另一个div或者窗口),否则他们将包装

 <br style="clear: left;" /> 

有人贴在那里的代码,它做了伎俩! 当我在closuresContainer DIV之前粘贴它时,它有助于清除所有后续的DIV与顶部并排创build的DIV重叠!

 <div> <div class="left"></div> <div class="left"></div> ... ... <div class="left"></div> <!-- then magic trick comes here --> <br style="clear: left;" /> </div> 

tadaa! 🙂

将所有三个div浮动到左边。 像这样:

 .first-div { width:370px; height:150px; float:left; background-color:pink; } .second-div { width:370px; height:150px; float:left; background-color:blue; } .third-div { width:370px; height:150px; float:left; background-color:purple; } 

我通常只是第一个向左,第二个向右。 第三个在它们之间自动alignment。

 <div style="float: left;">Column 1</div> <div style="float: right;">Column 3</div> <div>Column 2</div> 
 <style> .left-column { float:left; width:30%; background-color:red; } .right-column { float:right; width:30%; background-color:green; } .center-column { margin:auto; width:30%; background-color:blue; } </style> <div id="container"> <section class="left-column">THIS IS COLUMN 1 LEFT</section> <section class="right-column">THIS IS COLUMN 3 RIGHT</section> <section class="center-column">THIS IS COLUMN 2 CENTER</section> </div> 

这种方式的优点是你可以设置每个列宽度独立于另一个,只要你保持在100%以下,如果你使用3 x 30%,剩下的10%被拆分为5%的分隔符空间

你可以漂浮:左边的所有人,并设置宽度为33.333%

尝试添加“显示:块”的风格

 <style> .left{ display: block; float:left; width:33%; } </style> <div class="left">...</div> <div class="left">...</div> <div class="left">...</div> 

我更喜欢这种方法,漂浮在IE的旧版本中得不到很好的支持(真的?…)

 .column-left{ position:absolute; left: 0px; width: 33.3%; background: red; } .column-right{position:absolute; left:66.6%; width: 33.3%; background: green; } .column-center{ position:absolute; left:33.3%; width: 33.3%; background: yellow; } 

更新:当然,要使用这种技术,由于绝对定位,你需要将div放在一个容器中,并进行后处理来定义if的高度,如下所示:

 jQuery(document).ready(function(){ jQuery('.main').height( Math.max ( jQuery('.column-left').height(), jQuery('.column‌​-right').height(), jQuery('.column-center').height()) ); }); 

不是世界上最惊人的东西,但至less在老年人的IE浏览器上不会打破。

但它在Chrome中工作吗?

浮动每个div并设置清除;这两个行。 如果你不想要,不需要设置宽度。 适用于Chrome 41,Firefox 37,IE 11

点击JS小提琴

HTML

 <div class="stack"> <div class="row"> <div class="col"> One </div> <div class="col"> Two </div> </div> <div class="row"> <div class="col"> One </div> <div class="col"> Two </div> <div class="col"> Three </div> </div> </div> 

CSS

 .stack .row { clear:both; } .stack .row .col { float:left; border:1px solid; } 

我没有看到引导的答案,所以这是值得的:

 <div class="col-xs-4">Left Div</div> <div class="col-xs-4">Middle Div</div> <div class="col-xs-4">Right Div</div> <br style="clear: both;" /> 

让Bootstrap找出百分比。 为了以防万一,我想清除这两个。

以下是我如何设法在<footer>元素内做类似的事情:

 <div class="content-wrapper"> <div style="float:left"> <p>&copy; 2012 - @DateTime.Now.Year @Localization.ClientName</p> </div> <div style="float:right"> <p>@Localization.DevelopedBy <a href="http://leniel.net" target="_blank">Leniel Macaferi</a></p> </div> <div style="text-align:center;"> <p>☎ (24) 3347-3110 | (24) 8119-1085&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;✉ @Html.ActionLink(Localization.Contact, MVC.Home.ActionNames.Contact, MVC.Home.Name)</p> </div> </div> 

CSS:

 .content-wrapper { margin: 0 auto; max-width: 1216px; } 

@Leniel这个方法很好,但是你需要为所有的浮动div添加宽度。 我会说让他们等宽或分配固定的宽度。 就像是

 .content-wrapper > div { width:33.3%; } 

您可以将类名分配给每个div,而不是添加inline style ,这不是一个好的做法。

请务必使用clearfix div或clear div来避免以下内容保留在这些div的下方。

你可以在这里find如何使用clearfix div的细节