Я предполагаю, что это потому, что
«ширина: 100%» означает ширину
окно браузера, а не весь
ширина страницы, есть ли способ
исправить это?
100% означает, что он будет таким же широким, как родительский элемент, относительно которого он расположен (в данном случае body
, ширина которого будет основана на ширине его родительского элемента, html
). Который будет таким же широким, как окно браузера, если не указано иное.
Проблема в том, что у вас есть другой дочерний элемент body
, который может быть шире body
: и #container
, и #footer
оформлены так, что они всегда будут иметь ширину не менее 1026px
. Это не расширяет их родительские элементы, так как мы уже установили, что они будут такими же широкими, как окно браузера; вместо этого они переполняют своих родителей. Ответ по умолчанию - отображать полосы прокрутки, чтобы вы могли прокручивать и просматривать переполненный контент; если вы добавите стиль overflow:hidden
в html
или body
, вы обнаружите, что ваш контент и нижний колонтитул обрезаны до размера окна браузера, и полосы прокрутки не отображаются.
Для этого есть несколько простых решений:
- Оберните #content и #footer в #upbg вместо того, чтобы предшествовать им вместе с ним. Затем удалите существующие стили и стилизуйте их следующим образом:
position: absolute; padding-top:25px; background: url(images/bg-dark.jpg) repeat-x scroll 0 0;
Это выполняет две вещи: вы больше не указываете ширину для #upbg, таким образом позволяя ей стать достаточно широкой, чтобы охватить ее новых дочерних элементов, и это позволяет вам избавьтесь от множества ненужных на данный момент стилей (вы также захотите очистить отступы, которые вы установили для body
, а также некоторые стили для #content
). С другой стороны,
- Избавьтесь от минимальной ширины на
#content
и #footer
, чтобы они не переполнялись.