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.

Copy
<template>
  <JFooter>
    <template #bottom>
      <span>© 2026 Acme Inc.</span>
      <span class="flex gap-4">
        <a href="#">Status</a>
        <a href="#">Privacy</a>
        <a href="#">Terms</a>
      </span>
    </template>
  </JFooter>
</template>

API #

JFooter

PropTypeDefault Description
maxWidthstring'72rem'Maximum content width, or none.
borderedbooleantrueHairline above the footer.

Slots

SlotProps Description
brand—Logo and a short line about the product.
default—JFooterColumns.
bottom—Copyright, legal links, social icons.

JFooterColumn

PropTypeDefault Description
titlestring—Column heading; also names the column’s nav landmark.

Slots

SlotProps 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.