Форум программистов, компьютерный форум, киберфорум
mrtoxas
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Прижать footer к нижнему краю страницы. Подборка вариантов.

Запись от mrtoxas размещена 27.10.2016 в 22:52
Показов 17721 Комментарии 4

Вариант 1. Псевдоэлементы.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html, body {
      height: 100%;
      margin:0;
    }
    .wrapper {
      min-height: 100%;
      /* margin-bottom = высота футера */
      margin-bottom: -50px; 
    }
    .wrapper:after {
      content: "";
      display: block;
    }
    .footer, .wrapper:after {
      /* высота футера */
      height: 50px; 
    }
    .footer {
      background: tomato;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="content">
    Content
  </div>
</div>
<footer class="footer">
  Footer
</footer>
</body>
</html>

Вариант 2. Отрицательный margin и доп. блок.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
33
34
35
36
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html, body {
      height: 100%;
      margin: 0;
    }
    .wrapper {
      min-height: 100%;
      /* margin-bottom = -высота футера */
      margin-bottom: -50px;
    }
    .footer, .indent {
      /* высота футера */
      height: 50px;
    }
    .footer {
      background-color: tomato;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="content">
    Content
  </div>
  <div class="indent"></div>
</div>
<footer class="footer">
  Footer
</footer>
</body>
</html>

Вариант 3. Padding и отрицательный margin.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
33
34
35
36
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html, body {
      height: 100%;
      margin: 0;
    }
    .wrapper {
      min-height: 100%;
    }
    .content {
      /* padding-bottom = высота футера */
      padding-bottom: 50px;
    }
    .footer {
      /* высота футера */
      height: 50px;
      margin-top: -50px;
      background-color:tomato;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="content">
    Content
  </div>
</div>
<footer class="footer">
  Footer
</footer>
</body>
</html>

Вариант 4. Calc.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html,body {
      height:100%;
      margin:0;
    }
    .content {
      /* 100vh - высота футера */
      min-height: calc(100vh - 50px);
    }
    .footer {
        /* Высота футера */
      height: 50px;
      background: tomato;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="content">
    Content
  </div>
  <footer class="footer">
    Footer
  </footer>
</div>
</body>
</html>

Вариант 5. Flexbox.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
33
34
35
36
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html,body {
      height: 100%;
      margin:0;
    }
    .wrapper {
      min-height: 100%;
      display: flex;
      flex-direction: column;
    }
    .content {
      flex: 1;
    }
    .footer{
      background-color:tomato;
      /* высота футера */
      height:50px;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="content">
    Content
  </div>
  <footer class="footer">
    Footer
  </footer>
</div>
</body>
</html>

Вариант 6. Позиционирование.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html,body { 
      height: 100%; 
      margin:0;
    }
    .wrapper {
        min-height:100%; 
        position:relative; 
    }
    .content{
      /*padding-bottom = высота футера */
      padding-bottom: 50px;
    }
    .footer { 
        position:absolute; 
        left:0; 
        right:0; 
        bottom:0; 
        /* высота футера */
        height:50px; 
        background-color:tomato;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="content">
    Content
  </div>
  <footer class="footer">
    Footer
  </footer>
</div>
</body>
</html>

Вариант 7. Блочная таблица.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
33
34
35
36
37
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html,body {
      height: 100%;
      margin: 0;
    }
    .wrapper {
      display: table;
      height: 100%;
      width: 100%;
    }
    .content {
      display: table-row;
      height: 100%;
    }
    .footer {
      background-color: tomato;
      /* высота футера */
      height:50px;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="content">
    Content
  </div>
  <div class="footer">
    Footer
  </div>
</div>
</body>
</html>

Вариант 8. Таблица.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
33
34
35
36
37
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html,body {
      height: 100%;
    }
    .wrapper {
      width: 100%;
      height: 100%;
      border-collapse: collapse;
    }
    .content{
      vertical-align:top;
    }
    .footer {
      /* высота футера */
      height: 50px;
      background-color: tomato;
    }
  </style>
</head>
<body>
<table class="wrapper">
  <tr>
    <td class="content">
      Content
    </td>
  </tr>
  <tr>
    <td class="footer">Footer</td>
  </tr>
</table>
</body>
</html>

Вариант 9. Grid.
Кликните здесь для просмотра всего текста

HTML5
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
31
32
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8" />
  <title>Sticky Footer</title>
  <style>
    html {
      height: 100%;
      margin: 0;
    }
    body {
      min-height: 100%;
      display: grid;
      grid-template-rows: 1fr auto;
      margin: 0;
    }
    .footer {
      grid-row-start: 2;
      grid-row-end: 3;
      background: tomato;
    }
  </style>
</head>
<body>
<div class="content">
  Content
</div>
<footer class="footer">
  Footer
</footer>
</body>
</html>
Размещено в Верстка
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 4
Комментарии
  1. Старый комментарий
    Аватар для Fedor92
    Отличная подборка и весьма полезная! В вариантах с позиционированием и таблицей обнули margin у html и body... И раз уж есть таблица можно и фреймы добавить, тогда будет совсем полный комплект...
    Запись от Fedor92 размещена 28.10.2016 в 11:24 Fedor92 вне форума
  2. Старый комментарий
    Аватар для mrtoxas
    Fedor92, какой ты внимательный
    Запись от mrtoxas размещена 28.10.2016 в 11:43 mrtoxas вне форума
  3. Старый комментарий
    Аватар для xandr555
    Отличная подборка. Огромное.
    Запись от xandr555 размещена 22.03.2020 в 14:59 xandr555 вне форума
  4. Старый комментарий
    Аватар для mr_dramm
    Спасибо
    Запись от mr_dramm размещена 30.11.2021 в 22:02 mr_dramm вне форума
 
Новые блоги и статьи
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru