A vertical page transition that lifts one route into the next for brand sites, campaign pages, and editorial journeys that need a clean upward motion.

Ascend Transition makes the route change feel like an upward handoff.
Instead of cutting from one page to the next, the interface lifts. The old view moves out of the way, the new view rises into place, and the navigation moment feels cleaner than a hard fade.
Use Ascend Transition when a brand, portfolio, editorial site, or launch page wants route changes to feel light, elevated, and directional. The page job is upward continuity: the visitor should understand that the current page is leaving and the next one is arriving, without feeling blocked by the transition.
The production risk is timing. A vertical route transition can quickly feel like scroll-jacking if it is too slow, too tall, or too similar to normal page scroll. The transition should be brief, unmistakably tied to navigation, and respectful of reduced motion.
(Next.js App Router only. Requires next-transition-router for route-transition lifecycle hooks and must be wrapped in its provider. This effect will not function in plain React or in the Next.js Pages Router.)
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
A product launch microsite can use Ascend Transition between short campaign pages. Each route lifts away and the next section rises into place, giving the site a light, progressive rhythm. The outcome is elevation: navigation feels intentional without becoming heavy.
Not for long documentation, dashboards, checkout flows, product apps, or any route where users navigate frequently and expect instant response.
Not for pages where upward motion would be confused with normal scrolling.
Use transform and opacity, keep duration short, avoid forcing layout during route change, and clean up route listeners or animation timelines after completion.
Move focus to the destination main region or heading after navigation. On mobile, reduce travel distance so the transition does not feel like forced scroll. Reduced-motion users should get instant navigation or a short fade.
| Prop | Type | Default | Description |
|---|---|---|---|
bgColor | string | #ffffff | Background color of the covering panel that rises and reveals the new page. |
duration | number | 0.9 | Base duration of the rise/reveal phase; related scale-up and fade timings scale with it. |
Use it when a route change should feel like a clean upward handoff between brand, campaign, or portfolio pages.
Ascend Transition is tied to route change, not page scrolling. It should happen briefly during navigation and then stop.
Keep it short, usually 300 to 600ms. If it lasts longer, users will feel like navigation is being delayed.
Mount it where route changes can be detected and coordinated, usually in a transition wrapper, template, or route-level provider.
Remove vertical movement and use instant navigation or a brief fade.
Yes. A custom version should define vertical distance, easing, route integration, focus restoration, scroll behavior, mobile fallback, reduced-motion handling, source handoff, and implementation notes.
Need a custom effect? Tell us what to create.