Layout
Footer
The end of the page: a brand block, columns of links and a closing line for legal text. Columns fold into two on small screens.
Installation #
With the Nuxt module, every component is auto-imported — there is nothing to add. In a plain Vue project, import what you use:
Copy
import { JFooter, JFooterColumn } from '@juxtui/ui'Usage #
Copy
<JFooter>
<template #brand>Acme builds tools for teams.</template>
<JFooterColumn title="Product">
<a href="/pricing">Pricing</a>
<a href="/changelog">Changelog</a>
</JFooterColumn>
<template #bottom>© 2026 Acme</template>
</JFooter>Variants & examples #
Minimal#
Just the bottom line, for apps and small sites.
API #
JFooter
| Prop | Type | Default | Description |
|---|---|---|---|
| maxWidth | string | '72rem' | Maximum content width, or none. |
| bordered | boolean | true | Hairline above the footer. |
Slots
| Slot | Props | Description |
|---|---|---|
| brand | — | Logo and a short line about the product. |
| default | — | JFooterColumns. |
| bottom | — | Copyright, legal links, social icons. |
JFooterColumn
| Prop | Type | Default | Description |
|---|---|---|---|
| title | string | — | Column heading; also names the column’s nav landmark. |
Slots
| Slot | Props | Description |
|---|---|---|
| default | — | Links. Plain <a> and NuxtLink are styled automatically. |
Accessibility #
- Renders a
<footer>(the page’s contentinfo landmark when it is the top-level footer). - Each column is a
<nav>labelled by its title, so screen reader users can jump between them.