あなたはあなたのdivをフロートさせる必要があります。1つが非表示になると、残りは自動的に移動します。
再配置については、jQueryを使用して移動する必要があります。
このフィドルを試してみてください
HTML
<div id="container">
<div class="box">1<br/><a class="like" href="#">Like me</a></div>
<div class="box">2<br/><a class="like" href="#">Like me</a></div>
<div class="box">3<br/><a class="like" href="#">Like me</a></div>
<div class="box">4<br/><a class="like" href="#">Like me</a></div>
<div class="box">5<br/><a class="like" href="#">Like me</a></div>
</div>
CSS
div.box {
display: block;
width: 90px;
height: 50px;
float: left;
margin: 5px;
border: 1px solid #000;
text-align: center;
}
Javascript
$('a.like').on('click', function () {
$('#container').prepend($(this).parent());
return false;
})
$('div.box').on('click', function() {
$(this).hide();
})