Не понимаю в чём проблема:
У подвала стоит
flex: 0 0 auto;
Когда сайт не влазит полностью в экран(картинка 1), то всё норм, но когда наоборот(картинка 2), то появляется лишний фон. С чем это может быть связано?
Ilya Muromtsev, далее у вас в футере и абзацы и блоки дивов а вы ему флекс делаете зачем? поэтому всё у вас ломается, сделайте флекс внутри footer-social-networks он у вас уже стоит а в футере уберите, абзацы выровните по центру text-align:center;
в чем проблема
Ну как-же - подвал прибит к низу, миссия выполнена. Синий фон вылезает? или что не так? Синий фон - это фон в main видимо, черных блоков не хватает для заполнения main. Цель назовите, что должно в итоге получиться, и как вы это пытаетесь реализовать. Если хотите тянуть нижний блок - это одно решение, если Вам достаточно блоку main добавить черный фон - другое решение.
Промежуток не переместился.
Вы через дев консоль хрома можете увидеть, что блок main занимает все пространство между шапкой и подвалом.
Когда вы откручиваете масштаб - блоки с черным фоном заполняют колодец main по мере своих сил, то бишь раздвигаются содержимым, и заполняют сверху вниз. Это принцип построения страниц в браузере.
Не видя готовый результат тяжело анализировать наугад, тем более не зная что должно получиться. Какой блок должен растягиваться до футера и собснно зачем?
Нужно увидеть готовую страницу. Если есть возможность разметку содрать из просто скопировать из просмотра исходного кода страницы, прицепить все файлы стилей и вытащить это в песочницу - тогда помогу. Сейчас упираюсь в гадание по хрустальному шару.
Решение прижать футер к низу окна выполнено.
Короткая страница с блоками - будет просвет между блоком и футером. Тут никуда не деться без дополнительных извращений.
Полноценная страница на три экрана - последний блок должен упираться в подвал без просвета.
Если нет какой-то паразитной верстки со стилями, добавляющими отступы и/или имеющими свои значения высоты, которые свешиваются из блоков - никаких просветов не будет.