Skip to main content
Copy for LLM

Footer

A landing page footer with brand, column links, and legal sections.

Basic Usage

Simple footer

Built with WireKit.

With Columns

The link columns use gap="sm" rather than xs, and the reason is a measurement worth carrying: these are tap targets stacked in a column, and at xs their centers sit 23.4 px apart — six tenths of a pixel under the 24 px WCAG 2.5.8 spacing exception, which is a miss all the same.

Footer with link columns
Footer with legal links

Help in the same place on every page

A footer comes back on every page, so it is a natural home for help: contact details, a link to your help center or your support form. Help that your pages repeat has to stand in the same place on each of them (WCAG 3.2.6), and a footer every page shares gives it that place. Keep the help links in the same column, in the same order, rather than in the content of some pages and the footer of others.

Entrance Animation

Wire a viewport-triggered reveal directly on the footer without an extra wrapper:

<x-wirekit::footer animateIn="fade">
    <x-slot:brand>© 2026 Built with WireKit.</x-slot:brand>
</x-wirekit::footer>

The animateIn prop accepts any of the 11 base presets. Equivalent to wrapping in <x-wirekit::reveal> but skips the wrapper element. Respects prefers-reduced-motion: reduce. The default duration is normal (300ms) — fast enough to feel snappy in a real page-load context.

For docs.wirekit.app preview frame the default 300ms is too quick to read clearly, so the live demo below uses an explicit <x-wirekit::reveal> wrapper with preset="slide-up" and an inline animation-duration: 1200ms so the entrance motion is unambiguously visible. Hit the replay icon in the top-right corner to re-fire it:

Footer with slow fade entrance reveal

© 2026 Built with WireKit.

Props

Prop Type Default Description
animateIn string|null null Entrance-reveal preset (e.g. 'fade', 'slide-up'). Wires reveal semantics inline.
max sm | md | lg | xl | 2xl | full xl Inner-content max-width tier. Reads --size-wk-container-* tokens. Controls the column-grid, brand+legal row, and default slot wrapper widths — they all share the same value. Set to match your page's container width so the footer aligns on the same content-edge spine.
scope string|null null Scoped personalization name

The same footer at three max tiers — the chrome (background, border) always stays edge-to-edge while the inner content tracks the named tier:

Footer max — sm / xl / full
Acme · max=sm
Privacy Terms
Acme · max=xl (default)
Privacy Terms
Acme · max=full
Privacy Terms

Slots

Slot Description
columns Grid of link columns
brand Brand/copyright text
legal Legal links (privacy, terms)
default Additional footer content

Keyboard Interaction

This component is a layout wrapper. Keyboard interaction is delegated to its children.

Design Tokens

Token Used for
--color-wk-bg-elevated Footer background
--color-wk-border Top border
--color-wk-text-muted Text color
--space-wk-section-sm Vertical padding

Updated in WireKit v2.66.0 (2026-10-13)

Was this page helpful?

Thank you for your feedback!

Voting requires cookies or local storage. What we store