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

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

Запись от mrtoxas размещена 27.10.2016 в 22:52
Показов 17335 Комментарии 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 вне форума
 
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru