I need to put a sticky footer on my pages , however i don't have a definite height set for my footer . On smaller screens - the rows resize and footer becomes longer .
Therefore , the default sticky footer example provided on getbootstrap does not work since it requires a fixed footer height.
Any way to implement this ?
/* Sticky footer styles
-------------------------------------------------- */
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;
line-height: 60px; /* Vertically center the text there */
background-color: #f5f5f5;
}
/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */
body > .container {
padding: 60px 15px 0;
}
.footer > .container {
padding-right: 15px;
padding-left: 15px;
}
code {
font-size: 80%;
}
Now that Bootstrap 4 is flexbox, a sticky footer can be done using...
<wrapper class="d-flex flex-column">
<nav>
</nav>
<main class="flex-fill">
</main>
<footer>
</footer>
</wrapper>
body, wrapper {
min-height:100vh;
}
.flex-fill {
flex:1 1 auto;
}
Demo: Bootstrap 4.0 Sticky Footer
Note: The flex-fill
utility class is included in the Bootstrap 4.1 and later release. So after that release the extra CSS for flex-fill won't be needed.
As of Bootstrap 4.1, there is a min-vh-100
utility class which means you don't need the extra CSS.