Bird
Raised Fist0
Bootsrapmarkup~20 mins

Sticky footer pattern in Bootsrap - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Sticky Footer Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ layout
intermediate
2:00remaining
Sticky Footer with Flexbox in Bootstrap
Given this Bootstrap layout, what will be the vertical position of the footer when the content is short?
Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Sticky Footer Test</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>
  <header class="bg-primary text-white p-3">Header</header>
  <main class="container p-3">
    <p>Short content here.</p>
  </main>
  <footer class="bg-dark text-white p-3">Footer</footer>
</body>
</html>
AFooter is hidden because of flexbox settings.
BFooter sticks to the bottom of the viewport even if content is short.
CFooter overlaps the content area.
DFooter appears immediately after the content, leaving space below if content is short.
Attempts:
2 left
💡 Hint
Think about how flexbox with column direction and flex-grow/flex-shrink properties affect layout height.
❓ selector
intermediate
1:30remaining
CSS Selector for Sticky Footer Styling
Which CSS selector correctly targets the footer element inside a Bootstrap sticky footer layout to add a shadow effect?
Bootsrap
body > footer {
  box-shadow: 0 -4px 6px rgba(0,0,0,0.1);
}
Abody footer > main
Bfooter > body
C.footer > body
Dbody > footer
Attempts:
2 left
💡 Hint
The footer is a direct child of body in the sticky footer pattern.
🧠 Conceptual
advanced
2:00remaining
Why Use Flexbox for Sticky Footer?
Why is flexbox preferred over absolute positioning for creating a sticky footer in modern Bootstrap layouts?
AFlexbox requires fixed heights which is less flexible than absolute positioning.
BAbsolute positioning is easier and more responsive than flexbox.
CFlexbox allows the footer to stay at the bottom without overlapping content and adapts to content height changes.
DAbsolute positioning automatically adjusts footer height based on content.
Attempts:
2 left
💡 Hint
Think about how content resizing affects footer position and overlap.
❓ rendering
advanced
2:00remaining
Visual Result of Missing Flex Properties
What visual issue occurs if you remove flex: 1 0 auto; from the main element in a Bootstrap sticky footer layout?
Bootsrap
<style>
  html, body { height: 100%; }
  body { display: flex; flex-direction: column; min-height: 100vh; }
  main { /* flex: 1 0 auto; removed */ }
  footer { flex-shrink: 0; }
</style>
AFooter will not stick to the bottom and may appear just below the content with empty space below.
BFooter will disappear from the page.
CFooter will overlap the main content.
DFooter will stick to the top of the page.
Attempts:
2 left
💡 Hint
Consider how the main content area grows or shrinks in flexbox without flex-grow.
❓ accessibility
expert
2:30remaining
Accessible Sticky Footer Best Practice
Which practice improves accessibility for a sticky footer in a Bootstrap layout?
AUse <code>&lt;footer role="contentinfo"&gt;</code> with clear landmarks and ensure keyboard focus can reach footer links.
BUse only <code>&lt;div&gt;</code> for footer without semantic tags to keep layout simple.
CHide the footer from screen readers to avoid distraction.
DPlace footer content inside <code>&lt;header&gt;</code> for better screen reader support.
Attempts:
2 left
💡 Hint
Think about semantic HTML and keyboard navigation.

Practice

(1/5)
1. What is the main purpose of a sticky footer in a web page layout?
easy
A. To make the footer disappear when scrolling down
B. To keep the footer visible at the bottom of the page on all screen sizes
C. To fix the header at the top of the page
D. To center the main content vertically

Solution

  1. 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.
  2. 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.
  3. Final Answer:

    To keep the footer visible at the bottom of the page on all screen sizes -> Option B
  4. Quick Check:

    Sticky footer = footer always at bottom [OK]
Hint: Sticky footer means footer stays at bottom always [OK]
Common Mistakes:
  • Confusing sticky footer with fixed header
  • Thinking footer hides on scroll
  • Assuming footer centers content
2. Which Bootstrap utility class helps make the body a flex container for a sticky footer layout?
easy
A. d-flex flex-column min-vh-100
B. text-center bg-primary
C. container-fluid p-3
D. position-fixed bottom-0

Solution

  1. Step 1: Identify flexbox classes for vertical layout

    Bootstrap's d-flex flex-column makes the body a vertical flex container, and min-vh-100 ensures full viewport height.
  2. Step 2: Check other options

    Options B and C are unrelated styling classes; A fixes position but doesn't create flex layout.
  3. Final Answer:

    d-flex flex-column min-vh-100 -> Option A
  4. Quick Check:

    Flex column + full height = sticky footer base [OK]
Hint: Use d-flex flex-column min-vh-100 on body [OK]
Common Mistakes:
  • Using position-fixed instead of flexbox
  • Confusing padding or text classes with layout
  • Missing min-vh-100 for full height
3. Given this HTML snippet using Bootstrap classes for sticky footer:
<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?
medium
A. Footer is fixed at the top of the page
B. Footer overlaps the main content
C. Footer scrolls up and is not visible at bottom
D. Footer stays at the bottom even if content is short

Solution

  1. Step 1: Analyze the flexbox layout

    The body is a vertical flex container with full viewport height. The main content uses flex-fill to fill available space.
  2. Step 2: Understand footer placement

    The footer is placed after main and stays at the bottom because main fills space above it.
  3. Final Answer:

    Footer stays at the bottom even if content is short -> Option D
  4. Quick Check:

    Flex-fill main + footer after = sticky footer [OK]
Hint: flex-fill main pushes footer down [OK]
Common Mistakes:
  • Thinking footer overlaps content
  • Assuming footer scrolls away
  • Confusing fixed position with flex layout
4. You wrote this code for a sticky footer:
<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?
medium
A. The container class on the main
B. The position-fixed class on the footer
C. The min-vh-100 class on the body
D. The text-center class on the footer

Solution

  1. Step 1: Check body height setting

    Without min-vh-100, the body height is only as tall as content, so footer won't stick at bottom.
  2. 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.
  3. Final Answer:

    The min-vh-100 class on the body -> Option C
  4. Quick Check:

    Full viewport height needed for sticky footer [OK]
Hint: Add min-vh-100 to body for full height [OK]
Common Mistakes:
  • Using position-fixed instead of flexbox height
  • Adding container but missing height
  • Confusing text alignment with layout
5. You want a sticky footer that also changes background color when the page content is very short or very tall. Which Bootstrap approach correctly combines sticky footer with responsive background color change?
<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?
hard
A. Add bg-light for short pages and bg-dark text-white for tall pages using media queries
B. Add bg-light always and use JavaScript to toggle classes on scroll
C. Use position-fixed bottom-0 on footer and bg-primary class
D. Wrap footer in a container and add bg-success class

Solution

  1. 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.
  2. Step 2: Evaluate options for responsive background

    Add bg-light for short pages and bg-dark text-white for tall pages using media queries uses Bootstrap background classes with media queries to switch colors depending on viewport or content height, which is correct.
  3. Step 3: Check other options

    Add bg-light always and use JavaScript to toggle classes on scroll uses JavaScript unnecessarily; C breaks sticky footer by fixing position; D only adds static background color.
  4. Final Answer:

    Add bg-light for short pages and bg-dark text-white for tall pages using media queries -> Option A
  5. Quick Check:

    Use media queries + Bootstrap bg classes for responsive footer [OK]
Hint: Use media queries with Bootstrap bg classes [OK]
Common Mistakes:
  • Using position-fixed breaks sticky footer
  • Relying on JavaScript instead of CSS
  • Adding static background without responsiveness
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard