AI Workshop: learn to build apps with AI →
CSS Tips: How to stick an element on the bottom of the page with flexbox

Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.


A simple example of how to align a div to the bottom of the page.

I needed to stick an element to the bottom of the page when the window was tall, while still keeping it in the normal flow when there wasn’t enough content to fill the screen.

Here is a very minimal example I made using Tailwind CSS:

<html>
  <body class="text-center">
    <p>test</p>
    <p>&copy; 2022</p>
  </body>
</html>

How to stick an element on the bottom of the page with flexbox

We want the “footer” HTML element to stick to the bottom using Flexbox.

So we first use Flexbox (flex flex-col), we set the minimum height to the screen (min-h-screen).

Then we add flex-grow to the element that precedes the footer so it fills the space:

<html>
  <body class="text-center min-h-screen flex flex-col">
    <p class="flex-grow">test</p>
    <p>&copy; 2022</p>
  </body>
</html>

This code generates this result:

How to stick an element on the bottom of the page with flexbox

Lessons in this unit:

0: Introduction
1: How to center an element with CSS
2: CSS Border inside the element
3: What are good CSS Breakpoint values for Responsive Design?
4: How to debug CSS by bisecting
5: How to disable text selection using CSS
6: How to put an item at the bottom of its container using CSS
7: CSS, how to select elements that do not have a class
8: ▶︎ How to stick an element on the bottom of the page with flexbox
9: How to apply padding to multiple lines in CSS
10: Making a table responsive using CSS
11: CSS url()
12: How to make an element smaller or bigger with CSS
13: Customizing visited links
14: Fix extra space after inline element
15: How to create a sidebar that’s sticky but also scrolls
16: How to embed YouTube videos using the correct aspect ratio
17: Responsive pre tags in CSS
18: Responsive YouTube Video Embeds
19: How to remove all CSS from a page at once
20: How I added Dark Mode to my website
21: How to add a simple dark mode