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

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

Запись от mrtoxas размещена 27.10.2016 в 22:52
Обновил(-а) mrtoxas 29.10.2016 в 22:20

Вариант 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>
Размещено в Верстка
Просмотров 2109 Комментарии 2
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Аватар для Fedor92
    Отличная подборка и весьма полезная! В вариантах с позиционированием и таблицей обнули margin у html и body... И раз уж есть таблица можно и фреймы добавить, тогда будет совсем полный комплект...
    Запись от Fedor92 размещена 28.10.2016 в 11:24 Fedor92 вне форума
    Обновил(-а) Fedor92 28.10.2016 в 11:26
  2. Старый комментарий
    Аватар для mrtoxas
    Fedor92, какой ты внимательный
    Запись от mrtoxas размещена 28.10.2016 в 11:43 mrtoxas вне форума
    Обновил(-а) mrtoxas 28.10.2016 в 15:44
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru