Я знаю, что опоздал, но вот что я делаю, чтобы решить проблему:
Добавьте очистку ВНУТРИ родителя внизу и сделайте переполнение родителя скрытым.
Вот модифицированный код:
.clear{
clear: both;
/* make sure there is no height set to it */
line-height: 0;
height: 0;
font-size: 0em;
}
<div style="overflow: hidden; margin: 30px; background: red; padding: 10px;">
<div style="background: green; width: 2000px;">dxyf</div>
<div class="clear">/div>
</div>
Работает в FF3 и IE7, но не тестируется в других браузерах.
Надеюсь, по крайней мере, помочь вам с вашей проблемой.