Как стать автором
Обновить

Прижатый к низу страницы футер

Время на прочтение2 мин
Количество просмотров55K
Прижимать футер к низу страницы я считаю хорошим тоном. Просмотрев множество решений, я обнаружил что все они основаны на каких-либо хаках и требуют вставить в код кучу мусора. Предлагаю простое решение на базе JavaScript, которое не потребует никаких дополнительных элементов и работает стабильно во всех браузерах.

Все что нужно — подключить специальный скрипт и назначить элементу, который будет растягиваться, класс ndra-container. Готово!

Посмотреть пример



Страница с прижатым подвалом должна выглядеть приблизительно так:
  1. <html>
  2. <body>
  3. <div>Шапка</div>
  4. <div class='ndra-container' >Контент</div>
  5. <div>Подвал</div>
  6. </body>
  7. </html>
* This source code was highlighted with Source Code Highlighter.


Скрипт растянет блок с контентом так, чтобы футер уперся в низ страницы. Скрипт проверяет высоту блока каждую секунду и оперативно реагирует на изменение размеров окна. Работает во всех браузерах. Пользуйтесь :) Вот код самого скрипта:

  1. $(function() {
  2.  
  3. $("body").css({padding:0,margin:0});
  4.   var f = function() {
  5.     $(".ndra-container").css({position:"relative"});
  6.     var h1 = $("body").height();
  7.     var h2 = $(window).height();
  8.     var d = h2 - h1;
  9.     var h = $(".ndra-container").height() + d;    
  10.     var ruler = $("<div>").appendTo(".ndra-container");       
  11.     h = Math.max(ruler.position().top,h);
  12.     ruler.remove();    
  13.     $(".ndra-container").height(h);
  14.   };
  15.   setInterval(f,1000);
  16.   $(window).resize(f);
  17.   f();
  18.  
  19. });
* This source code was highlighted with Source Code Highlighter.
Теги:
Хабы:
Всего голосов 78: ↑22 и ↓56-34
Комментарии43

Публикации