DEV Community

Cover image for Making a footer stick to the bottom with CSS

Making a footer stick to the bottom with CSS

Chris Bongers on December 26, 2020

Ever wanted to have a footer that's stuck to the bottom, but will push down if the content is bigger? To demonstrate I've created this image. W...
Collapse
 
xosofox profile image
Peter Dietrich • • Edited

In some cases, I recommend to use height 100% instead of 100vh as vh might cause issues with the chrome nav bar on mobile

Collapse
 
dailydevtips1 profile image
Chris Bongers •

Ah good point Peter! Didn't account for that indeed.
There is a fix for the 100vh on mobile though.

Collapse
 
xosofox profile image
Peter Dietrich •

Oh - can you elaborate on that fix?

Thread Thread
 
dailydevtips1 profile image
Chris Bongers •

Sure CSS-tricks has a very good article on that:
css-tricks.com/css-fix-for-100vh-i...

Collapse
 
ertankara profile image
Ertan Kara • • Edited

This was a thing that I dealt with a few weeks back on my own blog. I fixed it with JS but I was ashamed of the solution. Thanks for this, I will apply this one instead of following.

(() => {
  if (window.innerHeight >= document.body.scrollHeight) {
    document.querySelector('footer').classList.add('fixed-footer')
  }
})();
Enter fullscreen mode Exit fullscreen mode
Collapse
 
dailydevtips1 profile image
Chris Bongers •

Hi Ertan, It's cool you found your own solutions as well, it's what we do as developers.
There are always different quicker solutions.

Collapse
 
bias profile image
Tobias Nickel •

is there some reason not to use position: fixed anymore?

Collapse
 
dailydevtips1 profile image
Chris Bongers •

You can however in this example I didn't want the footer to be always visible, which it would be with fixed.

It's a different solution and imagines those big-ass footers these days, don't want that as a fixed block.

Collapse
 
bias profile image
Tobias Nickel •

thanks

Collapse
 
maxloh profile image
maxloh •

Margin collapsing won't work on a flexbox based layout.

I think I will stick to the old fixed footer way and add a empty div to occupy spaces for the footer.

Collapse
 
dailydevtips1 profile image
Chris Bongers •

What exactly do you mean by margin collapsing? in which sense?

Collapse
 
ed1nh0 profile image
Edson Jr. • • Edited

What about the position sticky? Today its browser support is more than 95%.

Collapse
 
dailydevtips1 profile image
Chris Bongers •

Sticky is a valid solution same as fixed.
Just remember the footer will always be visible, which I didn't want for this example.

If that's what you want it's a propper solution though!

Collapse
 
ed1nh0 profile image
Edson Jr. •

Perfect!

Collapse
 
akshay_magrani profile image
akshay_magrani •

Thats a good idea Edson Jr.! How will you account for the footer that keeps being visible on the bottom of your screen though?

Collapse
 
727021 profile image
Andrew Schimelpfening •

This is great, thanks for sharing! I’ll try to use this in my next project.

Collapse
 
dailydevtips1 profile image
Chris Bongers •

Awesome Andrew, if you want to you can share the end-result always cool to see what people use it for 🤟

Collapse
 
ziizium profile image
Habdul Hazeez •