我有一个高度可变的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中工作,从未在其他浏览器中测试过。

09-26 22:30