Update 2021 – CSS GRID
Here is a solution using CSS Grid, this is by far the best way to do it on 2021.
html, body { margin: 0; height: 100%; } body { display: grid; grid-gap: 10px; grid-template-columns: 1fr; grid-template-areas: "main" "footer"; grid-template-rows: 1fr 80px; } main { background-color: #F8BBD0; grid-area: main; } footer { background-color: #7E57C2; grid-area: footer; }
<body> <main>The content</main> <footer>Footer</footer> </body>
Run code snippetExpand snippet
Old Answer
There is another sticky footer by Ryan Fait that doesn’t use position fixed:
* { margin: 0; } html, body { height: 100%; } .wrapper { min-height: 100%; height: auto !important; /* This line and the next line are not necessary unless you need IE6 support */ height: 100%; margin: 0 auto -155px; /* the bottom margin is the negative value of the footer's height */ } .footer, .push { height: 155px; /* .push must be the same height as .footer */ }