, если бы я хотел сделать это строго в CSS без сценариев или вмешательства со стороны сервера, я мог бы использовать свойство nth-child
:
CSS
.card { width: 60px; height: 100px; background-color: #ededed; border: 1px solid #999; }
.card:nth-child(even) { float: left; }
.card:nth-child(odd) { float: right; }
#container { width: 130px; }
#header { width: 100%; color: #fff; background-color: #000; margin-bottom: 3px; }
HTML
<div id="container">
<div id="header">header</div>
<div class="card">0</div>
<div class="card">1</div>
<div class="card">2</div>
<div class="card">3</div>
<div class="card">4</div>
</div>
http://jsfiddle.net/bpMCB/
Конечно, вам придется поиграться с размерами, чтобы соответствовать тому, что вы пытаетесь сделать.