Как прижать футер — объясняем по пунктам

Привет. На связи Шевченко Вячеслав, и сегодня мы поговорим о проблеме с которой сталкиваются 101% верстальщиков и разработчиков. А именно, необходимость прижать футер к низу страницы.


Суть в том, чтобы высота главного блока с контентом равнялась высоте окна браузера, и если содержимое не велико, footer должен быть внизу окна. После наполнения страницы он должен располагаться после главного блока.

Для примеров я буду использовать самую простую разметку страниц, состоящую из нескольких блоков. И так начнем.

Блок: 1/4 | Кол-во символов: 524
Источник: http://webupblog.ru/kak-prizhat-footer-k-nizu-stranitsy-s-pomoshhyu-css/

Вступление

Помнится мне, в тот момент, когда я стал переходить с таблиц на верстку дивами, одной из трудностей, с которыми я столкнулся, была следующая — как прижать подвал сайта (footer) в самый низ окна браузера, чтобы страница при этом выглядела вытянутой на всю высоту, вне зависимости от объема текста, а при высоте страницы, большей, чем высота окна браузера (при появлении скролла), футер оставался бы на положенном ему месте.

Если с помощью таблиц сия задача решается лишь за счет указания высоты для таблицы и/или вложенной в нее ячейки, то при использовании CSS в блочной верстке применяется совсем иной подход.

В процессе практики я выделил для себя 5 способов прижимания футера к низу окна браузера с помощью CSS.

  <html>  <body>    <div class="wrapper">    	<div class="content"></div>    	<div class="footer"></div>    </div>    </body>  </html>  

В CSS-код, приведенный ниже, включены только те свойства, которые минимально необходимы для реализации соответствующего способа. По каждому из них вы можете посмотреть живой пример.

Блок: 2/7 | Кол-во символов: 1099
Источник: http://dimox.name/press_footer_bottom_with_css/

Какие проблемы возникли с нашим макетом сайта


Сегодня мы попробуем решить одну небольшую проблему, которая может возникнуть с созданным нами ранее макетом. Чаще всего такая ситуация возникает при просмотре его на больших мониторах (с высоким разрешением) и при отображении страницы с малым количеством информации.

В этом случае может получиться так, что футер не будет прижат к низу экрана, а будет располагаться чуть ли не на его середине по высоте, что в большинстве случаев будет выглядеть некрасиво и не эстетично.

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

Т.е. правильное поведение футера для случая малого количества информации на странице и большого экрана пользователя будет следующим:

<!DOCTYPE Html PUBLIC "-//W3C//DTD Html 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Заголовок</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <div id="maket"> <div id="header">Шапка </div> <div id="left">Левая колонка Меню Меню Меню Меню</div> <div id="right">Правая колонка Меню Меню Меню Меню</div> <div id="content">Содержимое страницы Содержимое страницы Содержимое страницы Содержимое страницы </div> <div id="footer">Подвал</div> </div>  </body> </html>

А в файле Style.css были прописаны следующие CSS свойства:

body, html { margin:0px; padding:0px; } #maket { width:800px; margin:0 auto; } #header{ background-color:#C0C000; } #left{ background-color:#00C0C0; width:200px; float:left; } #right{ width:200px; background-color:#FFFF00; float:right; } #content{ background-color:#8080FF; margin-left:202px; margin-right:202px; } #footer{ background-color:#FFC0FF; clear:both; }

Ну, а сам макет выглядел примерно так:

Блок: 2/4 | Кол-во символов: 2070
Источник: https://KtoNaNovenkogo.ru/html/div-verstka-html/blochnaya-verstka-div-verstka-kak-prizhat-footer-k-nizhnej-chasti-ekrana-maket-sajta-blochnoj-verstki.html

Способ #1

Footer прижимается к низу путем его абсолютного позиционирования и вытягивания высоты родительских блоков (, и ) на 100%. При этом блоку нужно указать нижний отступ, который равен или больше высоты футера, иначе последний закроет часть контента.

  * {    margin: 0;    padding: 0;  }  html,  body {    height: 100%;  }  .wrapper {    position: relative;    min-height: 100%;  }  .content {    padding-bottom: 90px;  }  .footer {    position: absolute;    left: 0;    bottom: 0;    width: 100%;    height: 80px;  }  

Блок: 2/7 | Кол-во символов: 531
Источник: https://prowebmastering.ru/css-kak-prizhat-futer-k-nizu-stranicy.html

Способ второй. С помощью абсолютного позиционирования

Основан на абсолютном позиционировании footer и его фиксированной высоты. Для body необходимо задать , блоку .wrapper . Если мы зададим height, то мы ограничим блок по высоте, если контента будет много. Футер прижимаем к низу с помощью и , так же добавляем и отступ элементу .content который равняется высоте футера.

HTML

<div class=»wrapper»>

<div class=»header»>

        Header

</div>

<div class=»content»>

    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod

    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</p>

</div>

<div class=»footer»>

        Footer

</div>

</div>

CSS

Блок: 3/4 | Кол-во символов: 845
Источник: http://webupblog.ru/kak-prizhat-footer-k-nizu-stranitsy-s-pomoshhyu-css/

Кол-во блоков: 11 | Общее кол-во символов: 5069
Количество использованных доноров: 4
Информация по каждому донору:

  1. http://dimox.name/press_footer_bottom_with_css/: использовано 1 блоков из 7, кол-во символов 1099 (22%)
  2. https://prowebmastering.ru/css-kak-prizhat-futer-k-nizu-stranicy.html: использовано 1 блоков из 7, кол-во символов 531 (10%)
  3. http://webupblog.ru/kak-prizhat-footer-k-nizu-stranitsy-s-pomoshhyu-css/: использовано 2 блоков из 4, кол-во символов 1369 (27%)
  4. https://KtoNaNovenkogo.ru/html/div-verstka-html/blochnaya-verstka-div-verstka-kak-prizhat-footer-k-nizhnej-chasti-ekrana-maket-sajta-blochnoj-verstki.html: использовано 1 блоков из 4, кол-во символов 2070 (41%)



Поделитесь в соц.сетях:

Оцените статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий