Почему может не работать {overflow: hidden;}?
Потому что body и html - inline-элементы, а overflow - для блочных. В любом случае я бы вам не рекомендовал без крайней необходимости менять свойства body и тем более html. Пользуйтесь вложенными div и другими элементами.
UP: Не смотря на то, что "народу нравится", это неверный ответ. )
Есть вероятность, что у кого-то из дочерних стоит маржин