A sticky footer stays at the bottom of the page even if the content is short. It helps keep the footer visible and neat on all screen sizes.
Sticky footer pattern in Bootsrap
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Sticky Footer</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <style> html, body { height: 100%; } body { display: flex; flex-direction: column; min-height: 100vh; } main { flex: 1 0 auto; } footer { flex-shrink: 0; } </style> </head> <body> <main class="container"> <!-- page content here --> </main> <footer class="bg-dark text-white text-center py-3"> <!-- footer content here --> </footer> </body> </html>
The body uses flexbox to arrange content vertically.
The main area grows to fill space, pushing the footer down.
<body class="d-flex flex-column min-vh-100"> <main class="flex-grow-1"> <p>Page content here</p> </main> <footer class="bg-light text-center py-3"> Footer content </footer> </body>
<style>
html, body { height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1 0 auto; }
footer { flex-shrink: 0; }
</style>
<body>
<main>
<h1>Hello!</h1>
</main>
<footer class="bg-primary text-white text-center py-2">
Sticky footer example
</footer>
</body>This example shows a simple page with a sticky footer. The footer stays at the bottom even if the content is short.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap Sticky Footer Example</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <style> html, body { height: 100%; } body { display: flex; flex-direction: column; min-height: 100vh; } main { flex: 1 0 auto; } footer { flex-shrink: 0; } </style> </head> <body> <main class="container my-5"> <h1>Welcome to My Page</h1> <p>This page uses a sticky footer pattern with Bootstrap.</p> </main> <footer class="bg-dark text-white text-center py-3"> © 2024 My Website </footer> </body> </html>
Use min-height: 100vh on body to cover full screen height.
Flexbox makes it easy to push the footer to the bottom without fixed positioning.
Bootstrap utility classes like d-flex, flex-column, and flex-grow-1 help build this pattern quickly.
A sticky footer stays visible at the bottom on all screen sizes.
Use flexbox on the body to arrange content and footer vertically.
Bootstrap utilities simplify creating sticky footers without extra CSS.
Practice
Solution
Step 1: Understand the sticky footer concept
A sticky footer is designed to stay at the bottom of the page regardless of content height or screen size.Step 2: Compare options with the concept
Only To keep the footer visible at the bottom of the page on all screen sizes describes this behavior correctly; others describe unrelated features.Final Answer:
To keep the footer visible at the bottom of the page on all screen sizes -> Option BQuick Check:
Sticky footer = footer always at bottom [OK]
- Confusing sticky footer with fixed header
- Thinking footer hides on scroll
- Assuming footer centers content
Solution
Step 1: Identify flexbox classes for vertical layout
Bootstrap'sd-flex flex-columnmakes the body a vertical flex container, andmin-vh-100ensures full viewport height.Step 2: Check other options
Options B and C are unrelated styling classes; A fixes position but doesn't create flex layout.Final Answer:
d-flex flex-column min-vh-100 -> Option AQuick Check:
Flex column + full height = sticky footer base [OK]
- Using position-fixed instead of flexbox
- Confusing padding or text classes with layout
- Missing min-vh-100 for full height
<body class="d-flex flex-column min-vh-100"> <main class="flex-fill">Content</main> <footer class="bg-light text-center py-3">Footer</footer> </body>
What will be the visual result in the browser?
Solution
Step 1: Analyze the flexbox layout
The body is a vertical flex container with full viewport height. The main content usesflex-fillto fill available space.Step 2: Understand footer placement
The footer is placed after main and stays at the bottom because main fills space above it.Final Answer:
Footer stays at the bottom even if content is short -> Option DQuick Check:
Flex-fill main + footer after = sticky footer [OK]
- Thinking footer overlaps content
- Assuming footer scrolls away
- Confusing fixed position with flex layout
<body class="d-flex flex-column"> <main class="flex-fill">Content</main> <footer>Footer</footer> </body>
But the footer does not stick to the bottom on short pages. What is missing?
Solution
Step 1: Check body height setting
Withoutmin-vh-100, the body height is only as tall as content, so footer won't stick at bottom.Step 2: Verify other classes
Position-fixed fixes footer but not sticky footer pattern; container and text-center affect layout or style but not footer position.Final Answer:
Themin-vh-100class on the body -> Option CQuick Check:
Full viewport height needed for sticky footer [OK]
- Using position-fixed instead of flexbox height
- Adding container but missing height
- Confusing text alignment with layout
<body class="d-flex flex-column min-vh-100"> <main class="flex-fill">Content</main> <footer class="py-3 text-center">Footer</footer> </body>
Which modification achieves this?
Solution
Step 1: Understand sticky footer with background color
The sticky footer uses flexbox with full viewport height. To change background color based on page height, CSS media queries are best.Step 2: Evaluate options for responsive background
Addbg-lightfor short pages andbg-dark text-whitefor tall pages using media queries uses Bootstrap background classes with media queries to switch colors depending on viewport or content height, which is correct.Step 3: Check other options
Addbg-lightalways and use JavaScript to toggle classes on scroll uses JavaScript unnecessarily; C breaks sticky footer by fixing position; D only adds static background color.Final Answer:
Addbg-lightfor short pages andbg-dark text-whitefor tall pages using media queries -> Option AQuick Check:
Use media queries + Bootstrap bg classes for responsive footer [OK]
- Using position-fixed breaks sticky footer
- Relying on JavaScript instead of CSS
- Adding static background without responsiveness
Ready to prove it?
Pass the test and this pattern moves unknown
