shadcn.io is not affiliated with official shadcn/ui
Animated Links Footer Block for React
A link footer for a project planner: three columns of six links under ruled headings, each link sliding an arrow in from its start on hover and focus, and a foot band with the brand and legal links.
Installation
Overview
A link footer for React with Base UI, where the links answer your pointer. A nav labelled Footer holds three columns (Product, Learn, Company) of six links, each column headed by its title over a hairline. Hover a link or reach it with the keyboard and an arrow slides in from the start of the line while the label moves along to make room; leave it and both settle back. A foot band under a rule with + marks carries the wordmark and one sentence at the start, and the policies and copyright at the end. The page's rails and top rule come from the Guides spine. It's built from Guides, plain links and your theme's tokens, and the motion is CSS only: no JavaScript.
FAQ
How do I change the links?
Edit GROUPS at the top of the file: each group is a title and six links, each an href and a label. Every link is an anchor with href="#": point each at its page, or swap the anchor for your router's link and keep its class names. Three columns of six fit the width; for four columns change the grid's column count and drop a link or two per column.
How does the arrow animation work?
Each link is a group that holds its label and an arrow icon. At rest the arrow is invisible and parked a little before the line's start; on hover or keyboard focus its position and opacity transition, and the label's start padding grows by the arrow's width. Everything is a CSS transition on logical properties (start, ps), so in a right-to-left page the arrow comes in from the right and points the other way.
What happens with reduced motion?
Nothing slides. With the reduced-motion setting on, the label stays put and the arrow sits after it, hidden at rest and shown on hover or focus without a transition. The colour change on the link still happens, so the feedback stays visible.
What about touch screens?
A tap follows the link, so the arrow shows for the moment before the page changes on a touch device. Hover is only an extra: every link is readable and the right size to tap without it, with a row about 36 pixels tall.
How do screen readers move through it?
The block is a footer element, the page's content-info landmark when placed outside main. The columns sit in a nav labelled Footer, each with a small h2 over a list. The arrow is decorative and hidden from assistive technology, so a link is read as its label alone. The policy links are a list named Legal.
Related
- Pro
Link Columns Footer
Link gridsThe classic link-column footer for an email API: a brand column with the wordmark, one sentence and four social links, four groups of links behind a split divider, and a legal band with the copyright and the policy links.
- Pro
Hairline Cells Link Directory Footer
Link gridsA brandless link directory: six groups of five links as cells on shared hairlines, three across by two down, with a legal band under the grid.
- Pro
SaaS Link Cells Footer
Link gridsA product footer for a scheduling tool: a lean brand row, three link groups as separate cells whose first link carries a one-line description and a badge, and a legal band.
- Pro
Table of Contents Footer
Link gridsAn even two-column footer: the wordmark, description, social icons and legal line behind a divider from a numbered, two-column list of eight links.
- Pro
Mega Footer
Link gridsA mega footer for a cloud platform: a brand band, eight link groups with icons in two ruled bands of four on one desktop screen, an accordion on phones, and a legal band.
- Pro
Sitemap Tree Footer
Sitemaps and trailsA sitemap footer drawn as three trees: nested lists with hairline connectors, a root link for each section, pages indented under it and some with their own children.