Как сделать так чтобы блоки не съезжали с места?
display: inline-block;
А то навыдумывали тут разного.
после каждого третьего блока ставь:
и в css пропиши:
.clear{
clear:both;
}
это работает, если у каждого блока стоит float:left