Попробуйте это: http://jsfiddle.net/nvpXx/3/
Вы можете обернуть свои плавающие элементы div с элементом inline-block и центрировать его внутри родительского элемента.
HTML
<div id="main">
<div class="wrap">
<div class="item">thing 1</div>
<div class="item">thing 2</div>
<div class="item">thing 3</div>
<div class="clear"></div>
</div>
</div>
CSS
#main {width: 600px; background-color: #eee; margin: 0 auto; padding: 10px; text-align: center;}
#main .item {float: left; border: 1px solid #ccc; margin: 5px; }
.clear {clear: both;}
.wrap { display: inline-block; padding: 5px; bordeR: 1px solid black; margin: auto;}
Потенциальная ловушка
Это не работает, если у вас так много плавающих элементов, что они переносятся на вторую строку.В этот момент div.wrap
расширяется до 100% своего контейнера, и в результате все становится не в центре.