I would like to interlock an undefined number of divs (as in Pinterest) from this:

++++++++ ********
+      + *      *
+      + *      *
+      + ********
+      +         
++++++++ 
~~~~~~~~ --------
~      ~ -      -
~      ~ -      -
~~~~~~~~ -      -
         -      -
         -      -
         -      -
         -      -
         --------

to this:

++++++++ ********
+      + *      *
+      + *      *
+      + ********
+      + --------
++++++++ -      -
~~~~~~~~ -      -
~      ~ -      -
~      ~ -      -
~~~~~~~~ -      -
         -      -
         -      -
         --------

Is it possible with CSS or other stuff?

有帮助吗?

解决方案

This has been asked a million times on here.

Most folk use Masonry:

http://masonry.desandro.com/

其他提示

I refer this answer from zessx answer thanks to zessx.

<h2>Without columns</h2>
<div class="box">1 Lorem Ipsum</div>
<div class="box">2 Lorem Ipsum Lorem Ipsum</div>
<div class="box">3 Lorem Ipsum</div>
<p class="clear">&nbsp;</p>
<div class="box">4 Lorem Ipsum Lorem</div>
<div class="box">5 Lorem Ipsum</div>
<div class="box">6 Lorem Ipsum</div>
<p class="clear">&nbsp;</p>
<div class="box">7 Lorem Ipsum</div>
<div class="box">8 Lorem Ipsum</div>
<h2>With columns</h2>
<div class="column">
<div class="box">1 Lorem Ipsum</div>
<div class="box">4 Lorem Ipsum Lorem</div>
<div class="box">7 Lorem Ipsum</div>
</div>
<div class="column">
<div class="box">2 Lorem Ipsum Lorem Ipsum</div>
<div class="box">5 Lorem Ipsum</div>
<div class="box">8 Lorem Ipsum</div>
</div>
<div class="column">
<div class="box">3 Lorem Ipsum</div>
<div class="box">6 Lorem Ipsum</div>
</div>

CSS

.box { 
width: 50px;
min-height: 50px;
background: #ccc;
margin: 3px;
padding: 3px;
float: left;
}
.clear {
clear: both;
height: 0px;
}
.column {
width:60px;
float: left;
}

See Demo

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top