Все вышеперечисленное будет работать, но имейте в виду, что элементы будут "выходить" из родительского элемента div в IE6. Это боль, но большинство людей все еще должны думать о поддержке IE6.
Решение побега состоит в том, чтобы придать содержащему элементу высоту или ширину (любой подойдет, он растянется, чтобы соответствовать, поэтому обычно я использую 1%).
Кроме того, если вы устанавливаете ширину, имейте в виду, что любые установленные вами границы или поля равны в дополнение к ширине элементов, поэтому если вы установите два деления в 50% с рамкой или полем, Вы получите разрыв строки.