Я хотел гибкий липкий нижний колонтитул , поэтому я пришел сюда. Лучшие ответы заставили меня в правильном направлении.
Текущий (2 октября 16) Bootstrap 3 css Липкий нижний колонтитул (фиксированный размер) выглядит следующим образом:
html {
position: relative;
min-height: 100%;
}
body {
/* Margin bottom by footer height */
margin-bottom: 60px;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
/* Set the fixed height of the footer here */
height: 60px;
background-color: #f5f5f5;
}
До тех пор, пока нижний колонтитул имеет фиксированный размер, нижний край тела создает толчок, позволяющий карману для нижнего колонтитула сидеть. В этом случае, оба установлены на 60 пикселей. Но если нижний колонтитул не зафиксирован и его высота превышает 60 пикселей, он будет охватывать содержимое вашей страницы.
Сделать гибким: Удалить поле css и высоту нижнего колонтитула. Затем добавьте JavaScript, чтобы получить высоту нижнего колонтитула и задайте поле marginBottom. Это делается с помощью функции setfooter (). Затем добавьте прослушиватели событий при первой загрузке страницы и при изменении размера, которые запускают setfooter. Примечание. Если в нижнем колонтитуле есть аккордеон или что-либо еще, что вызывает изменение размера, без изменения размера окна, вы должны снова вызвать функцию setfooter ().
Запустите фрагмент, а затем на весь экран, чтобы продемонстрировать его.
function setfooter(){
var ht = document.getElementById("footer").scrollHeight;
document.body.style.marginBottom = ht + "px";
}
window.addEventListener('resize', function(){
setfooter();
}, true);
window.addEventListener('load', function(){
setfooter();
}, true);
html {
position: relative;
min-height: 100%;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
/* additional style for effect only */
text-align: center;
background-color: #333;
color: #fff;
}
body{
/* additional style for effect only not needed in bootstrap*/
padding:0;
margin: 0;
}
<div>
Page content
<br> <br>
line 3
<br> <br>
line 5
<br> <br>
line 7
</div>
<footer id="footer" class="footer">
<div class="container">
<p class="text-muted">Footer with a long text, so that resizing, to a smaller screen size, will cause the footer to grow taller. But the footer will not overflow onto the main page.</p>
</div>
</footer>