左侧浮动顶部对齐不同高度div的解决方案

时间:2017-03-10 20:11:18

标签: html css

这是一个jfiddle或示例:https://jsfiddle.net/mwL4L2a4/1/

.all {
  margin: 0 auto;
  width:60%;
}

.division {
float: left;
vertical-align:top;

}

.full {width : 100%; border:1px solid black;}
.half {width: 48%; border:1px solid black; }
.third {width : 30%; border:1px solid black;}

我有不同的div,涵盖其父级长度的一半,一半或三分之一。使用float left,所有div都倾向于覆盖父宽度,但我希望避免div线之间有间隙。我的div高度正在变化,宽度由班级指定。

附加div时没有常规模式。它可以是满的,一半,三分之二,三分之一。我通常会在创建一个新宽度时考虑前一个div宽度的大小,以便完全填充线(3 * 1/3),2 * 1 / 2,1 / 3 + 2/3等。 )

我最终可以将某个类添加到div中,例如当它的高度高于前一个时;或者如果在前两个div之前放置一个div,则添加一个新类等。这是我应该通过为每个可能的情况写一个jquery来研究它的路径吗?

以下是该问题的一个直观示例 http://i.imgur.com/5xLCxjo.jpghttp://imgur.com/a/c6udM

我已经在论坛上阅读了一些关于这个问题的帖子,似乎两个显示:table,table-cell似乎都工作,因为div宽度有一个altenated排列,也是一个可变高度。此外,砌体js无法应用,因为它需要所有div的固定宽度值。当使用salvatore时,你不能在div宽度之间交替,因为每个colum必须每行包含一个元素。

我感谢你的帮助,希望不要多余。

1 个答案:

答案 0 :(得分:0)

使用Packery,我解决了我的问题。

http://packery.metafizzy.co/