Если все дочерние элементы зафлоачены, то происходит схлопывание родительского блока, т.к блочные элементы не видят зафлоаченные. Самый простой и распространенный способ - псевдораспорки:
footer:after {
content: '';
display: table;
clear: both;
}
1. Mobile First (сначала для мобильных).
2. Желателен большой монитор 1920x1200 (рекомендую Dell)
3. Делается wrapper с параметром max-width. На сверхбольших разрешениях сайт не разъезжается, а остается нужного размера как в макете.
множество элементов с абсолютным позиционированием