Skip to content

fix(layout): push #footer to viewport bottom on content-short pages#7016

Open
edgarcosta wants to merge 1 commit into
LMFDB:mainfrom
edgarcosta:fix/footer-bottom-on-short-pages
Open

fix(layout): push #footer to viewport bottom on content-short pages#7016
edgarcosta wants to merge 1 commit into
LMFDB:mainfrom
edgarcosta:fix/footer-bottom-on-short-pages

Conversation

@edgarcosta
Copy link
Copy Markdown
Member

Previously #footer floated wherever #main's content (with a fixed 600px min-height) ended, leaving large gaps mid-viewport on short pages such as /, /about, and /contact when viewed on tall windows.

Switch to the standard flex sticky-footer pattern: a new #layout wrapper around the page content and footer is a flex column with min-height: 100vh, and an inner #page-wrapper grows to fill any remaining space, so #footer naturally lands at the bottom of the viewport on short pages and continues to flow after content on long pages. No magic numbers, no per-page tuning.

The flex container is a dedicated wrapper rather than body itself because third-party scripts (reCAPTCHA) append elements to body, and those should not become flex items that displace the footer.

Verified with playwright across /, /about, /contact at viewport heights 1080, 1440, 2000: footer's bottom edge is at the viewport bottom on every page.

See it on olive.lmfdb.xyz

Previously #footer floated wherever #main's content (with a fixed
600px min-height) ended, leaving large gaps mid-viewport on short
pages such as /, /about, and /contact when viewed on tall windows.

Switch to the standard flex sticky-footer pattern: a new #layout
wrapper around the page content and footer is a flex column with
min-height: 100vh, and an inner #page-wrapper grows to fill any
remaining space, so #footer naturally lands at the bottom of the
viewport on short pages and continues to flow after content on
long pages. No magic numbers, no per-page tuning.

The flex container is a dedicated wrapper rather than body itself
because third-party scripts (reCAPTCHA) append elements to body,
and those should not become flex items that displace the footer.

Verified with playwright across /, /about, /contact at viewport
heights 1080, 1440, 2000: footer's bottom edge is at the viewport
bottom on every page.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant