Прижать footer бывает не такой легкой задачей, с которой сталкиваются веб-разработчики в процессе создания сайта. Чаще всего они приходят к различным костылям, которые в самый неподходящий момент имеют свойство падать. Парадокс в том, что есть готовое решение, которое подойдет любому проекту, о котором мало кто знает.
На самом деле, каждый верстальщик встречался с проблемой, которая чаще всего встаёт уже ближе к завершению создания первой страницы сайта. Когда всё казалось бы идеально и никаких проблем не предвещает — футер всегда испортит картину. При чём, в зависимости от разных задач, возлагаемых на footer, он всё равно будет работать не так, как хотелось бы. Если проблемы внутри него можно решить, не потратив много времени, но вот с позиционированием его часто встречаются проблемы, которые требуют не понятно чего.
Проблемы, которые возникают у футера сайта, имеют такие неприятные особенности, как:
- footer не прижимается к низу страницы;
 - footer «отлипает» от низа страницы, при наличие небольшого наличия контента;
 - footer «прилипает» к странице контента, в следствие чего образуется «пустырь» в самом низу страницы.
 
Все эти проблемы встречались верстальщикам и находили свои решения, но общего, увы, мало кто мог предоставить. Давайте разберемся, как правильно прижать footer к низу страницы с помощью CSS и сформулировать общие правила при его создании.
Для начала создадим типичную структуру самого простого сайта:
| 
					 1 2 3 4 5 6 7 8 9 10 11  | 
						<div class="page">     <div class="header">         <!-- Содержимое шапки -->     </div>     <div class="content">         <!-- Содержимое области контента -->     </div>     <div class="footer">         <!-- Содержимое футера -->     </div> </div>  | 
					
Классическая структура:
- page — весь документ я объединил в один блок, на деле можете использовать любой другой, если это может нарушать какие-либо правило или структуру документа;
 - header — шапка сайта, в которой часто содержится меню, логотип и прочее;
 - content — область контента (информация, которая содержится на странице);
 - footer — наш подвал сайта, в котором часто содержится копирайт, логотип, контакты, меню.
 
После того, как документ готов — можно переходить, непосредственно, к заданию правил для наших элементов с помощью CSS3:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  | 
						html, body {   height: 100%; } .page {    min-height: 100%;    position: relative; } /* Правила для шапки */ .header {    background: #AB1857;    height: 70px; } /* Правила для контента */ .content {    padding-top: 30px;    padding-bottom: 50px; } /* Правила для подвала сайта */ .footer {    position: absolute;    bottom: 0;    width: 100%;    height: 120px;   /* Высота блока footer */    background: rgba(14,14,14,0.95); }  | 
					
Таким образом, мы получаем универсальное правило для того чтобы прижать footer к низу страницы, при любых случаях. Как видно из примера, для его создания не требуется большое количество правил и не составляет большого труда. Давайте выделим ключевые моменты в правилах, которые необходимо применить вам:
- height: 100% для html, body. С помощью этого мы даём указания браузеру, что страница должна располагаться на всю высоту;
 - padding-bottom для контента. Таким образом мы задаём отступ от футера;
 - position: absolute. С помощью него мы задаем абсолютную позицию футеру, не зависящую от других блоков;
 - bottom: 0. Обнуляем отступ снизу;
 - width: 100%. Задаём ширину футера по всей ширине страницы;
 - height: 120px. Задаём высотку блока подвала;
 
Остальные правила я написал для наглядности, так как большая часть из них у вас скорей всего уже должна быть. Примечательно то, что данные правила подходят для больших экранов, если вы создаете адаптивный сайт, то советую ознакомиться с такой полезной вещью, как MediaQueries. В связке с ним у вас получится великолепно реализованный футер для сайта, который будет отличаться своей простотой и функциональностью.




