Frontend.fyi

Tutorial

Auto-hiding Sticky Navigation With Motion for React

CSS sticky makes sticky headers super easy. But what if you want to make an auto-hiding header?

Try it yourself in our playground

Follow along with the tutorial, or just play around with the code. PRO members can fork this code and save it to their account.

User avatar

Jeroen Reumkens PRO

Making a Disappearing Sticky Navigation

Unlock Playground Access

Playgrounds let you build, test, and share frontend ideas instantly — right in your browser. Access is included in PRO. Just want Playgrounds? Pick a plan below.

Maker

€5,- / month

Unlimited Playgrounds access to build, experiment, and share without limits.

Join for €5 per month

Champion

€10,- / month

All the benefits of Maker, plus you help Frontend.fyi grow and get a Champion badge on your profile.

Join for €10 per month

Cancel anytime — no commitment.
Upgrade to PRO anytime and get a partial refund.We'll credit 100% of your first 3 months and 50% of the rest toward the PRO lifetime price.

Already a member? Login

Using CSS position: sticky makes sticky headers super easy. One thing that isn’t as easy is making a sticky header that hides when the user scrolls down and shows when the user scrolls up. This is a common pattern that is actually a little bit harder to achieve.

In this video, we’ll use Framer Motion to create an auto-hiding sticky navigation. We’ll use the useMotionValueEvent hook to listen to the scroll position and update the visibility of the navigation based on the scroll direction.

Eager to learn more?

I think this video might be a good fit for you too!