Абсолютное позиционирование удаляет содержимое div (и все остальное) из потока страницы.Это делает так, чтобы контейнеры не знали размер внутренних элементов.
Удалите все классы .abs из всего внутри контейнера, и белый фон будет правильно растягиваться, как вы хотите.Однако он также простирается за черную границу, поэтому вам придется искать другой способ его создания.
Более общий совет:
.wrap {margin: 0 auto; }
.abs { position:absolute; }
.rel { position:relative; }
Это просто плохие идеи.Похоже, вы видели или говорили о том, что всегда помещаете CSS в файл CSS, а не в HTML;хорошая идея, когда все сделано правильно, но классы должны идентифицировать контент, а не стили.Например:
.sidebar-image { /* css here */ }
.sidebar-donate ( /* css here */ }
.sidebar-infobox { /* css here */ }
Создает дублирующую позицию: теги и т. Д., Но это также намного проще для понимания и гораздо проще получить желаемые результаты, так как решение вашей текущей проблемы включает в себя редактирование HTML, когда ондолжна быть проблема CSS.