How To Make Footer Stay At Bottom Css

As a web developer, I’ve often encountered the challenge of making the footer stay at the bottom of the page, even when there is not enough content to fill the entire viewport. This can be frustrating, but luckily, CSS provides several solutions to this problem. In this article, I’ll share some techniques and insights on how to achieve this using CSS.

The Challenge of a Sticky Footer

One of the most common issues in web design is ensuring that the footer stays at the bottom of the page, irrespective of the amount of content. When there’s little content, the footer tends to rise up and sit awkwardly in the middle of the page. This is far from ideal, and it’s a problem that many web developers face. Thankfully, there are ways to address this using CSS.

Using Flexbox

Flexbox is a powerful layout mechanism in CSS that can be used to create flexible and responsive layouts. One way to make the footer stay at the bottom is by using the flexbox properties. By setting the min-height: 100vh on the main container and using flex: 1 0 auto on the content container, we can ensure that the footer stays at the bottom of the page, even with little content. Here’s an example of how this can be achieved:


.main-container {
display: flex;
flex-direction: column;
min-height: 100vh;
}

.content {
flex: 1 0 auto;
}

.footer {
flex-shrink: 0;
}

Using Grid Layout

Another approach to this problem is using CSS Grid Layout. By setting up the layout with CSS grid, we can achieve the same effect of keeping the footer at the bottom. We can use the grid-template-rows: auto 1fr auto property to create a grid layout with the header, content, and footer sections, where the content section takes up the available space and the footer stays at the bottom.


.main-container {
display: grid;
grid-template-rows: auto 1fr auto;
min-height: 100vh;
}

Using Positioning

Positioning is another CSS technique that can be used to keep the footer at the bottom of the page. By using position: relative on the main container, and setting position: absolute with bottom: 0 on the footer, we can ensure that the footer always sticks to the bottom of the viewport.


.main-container {
position: relative;
min-height: 100vh;
}

.footer {
position: absolute;
bottom: 0;
}

Conclusion

In conclusion, there are several ways to make the footer stay at the bottom using CSS. Whether it’s through flexbox, grid layout, or positioning, each method provides a solution to the common challenge of sticky footers. By implementing these techniques, we can ensure that our web pages have a consistent and visually appealing layout, regardless of the amount of content.