如何对齐 div 这样的?

How do I align div like this?

我想并排放置 4 个 div:每行 2 个。就像下图一样。到目前为止,这是我尝试过的:

<div style="width: 800px;">
 <div style="float: left; width: 200px;">aaaa</div>
 <div style="float: left; width: 200px;">bbbb</div>
 <div style="float: left; width: 200px;">cccc</div>
 <div style="float: left; width: 200px;">dddd</div>
 <br style="clear: left;" />
</div>

这确实将它们并排对齐,但在同一行上。

图片:

如果你在彼此之间放置足够的填充,它会强制它转到下一行。您还应该添加 float: right.

试试这个:

<div style="width: 800px;">
 <div style="float: left; width: 200px;">aaaa</div>
 <div style="float: left; width: 200px;">bbbb</div>
 <br style="clear: left;" />
 <div style="float: left; width: 200px;">cccc</div>
 <div style="float: left; width: 200px;">dddd</div>
 <br style="clear: left;" />
</div>

应该这样做 - 但要警惕不支持内联块的早期版本的 IE。

对于 IE < 8 - 是的,人们仍在使用它们!

(在外部 CSS 文件中使用以下示例而不是内联 CSS)

<!--[if lt IE 8]>
    <style type='text/css'>
        .left, .right {
          display:inline;
          zoom:1;
        }
    </style>
<![endif]-->

对于Chrome、FF等及以后的IE版本

这应该没问题 - 但不能很好地在移动设备上扩展。 http://jsfiddle.net/re664kmd/

<style type='text/css'>
    div.container {
      width:800px;
      margin:0 auto;
    }
    div.left, div.right {
      display:inline-block;
      width:200px;
      height:100px;
    }
    div.left {
      background:#00aeed;
    }
    div.right {
      background:#bed700;
    }
</style>
<div class='container'>
  <div class='left'></div>
  <div class='right'></div>
  <br />
  <div class='left'></div>
  <div class='right'></div>
</div>

为了让您的生活更轻松 - 考虑与 Bootstrap 一起玩 :D http://getbootstrap.com/css/#grid

实际上是一个响应式网格...

.content{
  width:100%;
  border:1px solid green;
  box-sizing: border-box;
  display:inline-block;
}

.content div{
  padding:20px;
  float:left;
  box-sizing: border-box;
  width:45%;
  border:1px solid red;
  margin:2.5%;
}
<div class="content">
  <div>a</div>
  <div>b</div>
  <div>c</div>
  <div>d</div>
<div>

//正如评论我认为代码片段的代码版本有一个错误,因为在 <div>d</div> 之后自动插入一个加法 <div></div> 很奇怪,但忽略代码应该在您要求的任何浏览器....