【发布时间】:2014-02-21 17:54:56
【问题描述】:
可以这么说,我想创建一个div 框“网格”。
目前我的div 框没有正确对齐。 div 不同高度的盒子会在一些 divs 之间造成很大的垂直空间。 div 框也更靠近右侧。
我希望 div 框彼此之间保持相同的边距,无论框的高度如何,并且它们从左 > 右排列。
我希望div 框像这样对齐:
这是正在发生的事情的示例:http://jsfiddle.net/P4S8z/
HTML:
.container {
position: relative;
float: left;
margin: 0;
}
.box {
position: relative;
display: block;
float: left;
width: 250px;
margin-left: 1.5em;
margin-bottom: 0.5em;
padding: 0 10px 0;
color: #666;
background: #fff;
border: 1px solid #d2d2d2;
border-radius: 3px;
}
.box h3 {
position: relative;
display: block;
height: 20px;
line-height: 1.3em;
width: 260px;
margin: 0;
padding: 5px 10px;
left: -15px;
top: 8px;
color: #cfcfcf;
text-shadow: 0 1px 1px #111;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
background: #333;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
<div class="container">
<div class="box" style="height:225px;">
<h3>Blah blah</h3>
</div>
<div class="box" style="height:160px;">
<h3>Blah blah</h3>
</div>
<div class="box" style="height:200px;">
<h3>Blah blah</h3>
</div>
<div class="box" style="height:180px;">
<h3>Blah blah</h3>
</div>
<div class="box" style="height:150px;">
<h3>Blah blah</h3>
</div>
<div class="box" style="height:170px;">
<h3>Blah blah</h3>
</div>
</div>
【问题讨论】:
-
我认为您将需要 javascript/jquery 解决方案,例如masonry.desandro.com
-
你必须将你的 div 放到三个不同的列中,否则它们之间可能会有交互。
-
列CSS或砌体脚本如前所述:jsfiddle.net/P4S8z/3
-
谢谢大家。砌体脚本可以解决问题