我有一个高度可变的div列表,需要彼此浮动。问题是评论4应该放在评论2上面。但它当然不能这么做,因为评论3正在取代它的位置。
这在css中是不是不需要改变太多的标记就可以实现呢?注释是动态添加的,因此它不总是5个注释。我做了一个jsfiddle,显示了这个问题-我目前的情况是:
<div id="CommentsContainer">
<div class="Comment">
<div class="CommentContent" style="height: 250px;">
Comment 1
</div>
</div>
<div class="Comment">
<div class="CommentContent" style="height: 100px;">
Comment 2
</div>
</div>
<div class="Comment">
<div class="CommentContent" style="height: 200px;">
Comment 3
</div>
</div>
<div class="Comment">
<div class="CommentContent" style="height: 250px;">
Comment 4
</div>
</div>
</div>
造型方面:
#CommentsContainer
{
width: 783px;
height: 500px;
background-color: #f2f2f2;
}
.Comment
{
width: 229px;
float: left;
padding-left: 10px;
padding-right: 10px;
padding-bottom: 10px;
margin-bottom: 10px;
margin-right: 10px;
border: 1px solid #aaaaaa;
background-color: #fffec7;
}
结果:
预期结果:
最佳答案
您可以尝试在第四个框的顶部设置负边距:
<div class="Comment" style="margin-top:-90px;">
<div class="CommentContent" style="height: 250px;">
Comment 4
</div>
</div>
在IE和Firefox中工作,从未在其他浏览器中测试过。