Удаление поля из main
, кажется, исправит это:
http://jsfiddle.net/kR7rs/3/
Что я думаю, так это то, что когда установлено overflow:hidden
, весь элемент обтекает плавающие элементы вместо текста внутри div. Так что это дает результат в скрипке. Затем, если вы также установите поле для него, ширина будет уменьшена с помощью левого отступа.
Вроде как ошибка.
(Сейчас у вас нет FF, чтобы проверить его и посмотреть, не сломается ли он для FF.)