Подтвердить что ты не робот

Как вставить элемент <footer> в нижней части страницы (HTML5 и CSS3)?

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

Есть ли простой способ получить в конце страницы независимо от содержимого, сжимается и растет с контентом?

Когда есть много контента, мы можем видеть нижний колонтитул на первой странице, а когда контента немного, мы увидим внизу.

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
        html,body {
            padding: 0;
            margin: 0;
        }

        header {
            position:fixed;
            top:0;
            width:100%;
            height:40px;
            background-color:#333;
            padding:20px;
        }

        footer {
            background-color: #333;
            width: 100%;
            bottom: 0;
            position: relative;
        }
        #main{
            padding-top:100px;
            text-align:center;
        }
  </style>
</head>
<body>
    <header>
    header
    </header>

    <div id="main">
    main
    </div>

    <footer>
    footer
    </footer>
</body>
</html>
4b9b3361

Ответ 1

Для перехода нижнего колонтитула от position: relative; до position:fixed;

 footer {
            background-color: #333;
            width: 100%;
            bottom: 0;
            position: fixed;
        }

Пример: http://jsfiddle.net/a6RBm/

Ответ 2

Вот пример использования css3:

CSS

html, body {
    height: 100%;
    margin: 0;
}
#wrap {
    padding: 10px;
    min-height: -webkit-calc(100% - 100px);     /* Chrome */
    min-height: -moz-calc(100% - 100px);     /* Firefox */
    min-height: calc(100% - 100px);     /* native */
}
.footer {
    position: relative;
    clear:both;
}

HTML:

<div id="wrap">
    body content....
</div>
<footer class="footer">
    footer content....
</footer>

jsfiddle

Обновление
Как указал Мартин, "position: relative" не является обязательным для элемента .footer, то же самое для clear:both. Эти свойства присутствуют только в качестве примера. Итак, минимальный css, необходимый для закрепления нижнего колонтитула внизу, должен быть:

html, body {
    height: 100%;
    margin: 0;
}
#wrap {
    min-height: -webkit-calc(100% - 100px);     /* Chrome */
    min-height: -moz-calc(100% - 100px);     /* Firefox */
    min-height: calc(100% - 100px);     /* native */
}

Кроме того, в css-трюках есть отличная статья, показывающая разные способы сделать это: https://css-tricks.com/couple-takes-sticky-footer/

Ответ 3

Я бы использовал это в HTML 5... Just sayin

#footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px;
  background-color: #f5f5f5;
}

Ответ 4

просто установите position: fixed в элемент нижнего колонтитула (вместо относительного)

Пример Jsbin

Обратите внимание, что вам может потребоваться также установить элемент margin-bottom в элемент main, по крайней мере равный высоте элемента нижнего колонтитула (например, margin-bottom: 1.5em;), в противном случае в некоторых проходах нижняя область основного содержимого может частично перекрываться нижним колонтитулом