我有4个div
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
<div id="fourth"></div>
Run Code Online (Sandbox Code Playgroud)
我需要以"正方形"顺序对齐它们:

我试过漂浮 - 只留下2°div和4°div,但它不起作用.
不幸的是,我无法使用
具有已定义宽度的容器,并且所有div都是左浮动的
<div id="container" style="width: 250px">
<div id="first" style="float: left"></div>
<div id="second" style="float: left"></div>
<div id="third" style="float: left"></div>
<div id="fourth" style="float: left"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
或者在我的实际项目中定位绝对/相对左,顶等...
所以我希望有一些浮动技巧来解决我的问题..
Mos*_*taf 13
<style>
.divSquare{
width:48%; height:200px; margin:4px; border:1px solid black; float: left
}
</style>
<div class="divSquare">1</div>
<div class="divSquare">2</div>
<div style='clear:both'></div>
<div class="divSquare">3</div>
<div class="divSquare">4</div>
Run Code Online (Sandbox Code Playgroud)
我想你可以明确定义的高度,你CAN设置一个百分比宽度.所述divSquare的宽度被设定为48%(小于50%),因为4像素余量和像素边框占据房间任一.
JSFiddle看到这个在行动.
你尝试过使用clear吗?检查此示例:
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
<div id="d"></div>
div { height: 100px; float: left; width: 100px; }
#a { background: blue; }
#b { background: red; }
#c { background: green; clear: left; }
#d { background: black; }
Run Code Online (Sandbox Code Playgroud)
它实际上是基于四个 div 的宽度。容器的宽度为 250px,因此如果前两个 div 的宽度为 125px,那么它们将填满第一行,并将所有剩余的 div 向下推。如果 div 的宽度均为 50%,则具有相同的效果。如果 div 的宽度小于 33.3333%,则至少三个 div 将堆积在第一行中。向左浮动允许框并排移动,直到达到父级的宽度限制。您可以通过以下方式控制宽度:
#container > div {
width: 50%;
}
Run Code Online (Sandbox Code Playgroud)
或者您可以每隔三个 div 清除一次浮动。
#container > div:nth-of-type(3n + 3) {
clear: both;
}
Run Code Online (Sandbox Code Playgroud)