По аналогии с другими ответами, но, надеюсь, с объяснением того, что происходит за кулисами:
width: 100%
на #top-panel
относится к ширине области содержимого div, исключая границы, отступы и поля. Таким образом, когда вы указываете width: 100%
и padding-left: 10px
, ширина #top-panel
, включая отступы, фактически равна 10px + 750px (отступы плюс 100% ширины #container
.)
На мой взгляд, лучшим решением является удаление width: 100%
из #top-panel
. Это заставит div занимать всю ширину родительского элемента без переполнения #container
.
Страница выглядит нормально в Internet Explorer, поскольку IE неправильно включает отступы и границу при вычислении ширины div, если страница отображается в режиме причуд. Подробнее об этой ошибке можно узнать здесь .