【发布时间】:2014-03-21 17:23:10
【问题描述】:
我有一个高度可变的 div 列表,需要彼此相邻浮动。问题是评论 4 应该放在评论 2 之上。但当然不能这样做,因为评论 3 正在取代它。
在不过多更改标记的情况下,这在 css 中是否可行? cmets 是动态添加的,因此并不总是 5 cmets。我做了一个 jsfiddle 来显示问题 http://jsfiddle.net/Kv2Qf/ - 我目前拥有的是这样的:
<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;
}
结果:
预期结果:
【问题讨论】:
-
CSS 解决方案不会灵活。见 masonry.js
-
或查看同位素:isotope.metafizzy.co 并检查同位素和砖石的区别:stackoverflow.com/questions/8856893/…
-
看起来这可能有一些适合您的解决方案,但不能单独使用 CSS:stackoverflow.com/questions/5234749
-
@Dumpen 你可以创建一个新的答案,并接受它。