Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Sheet examples · Navigation

Mobile Menu Sheet for React

A left-side menu sheet with four page links stacked under a Menu title.

Framework
UI library

The simplest mobile menu: a left-side sheet titled Menu with Home, Products, About and Contact in a nav. Show the trigger on small screens and your regular navigation on larger ones.

Preview

Preview width

Installation

Sign in to get your install command
Free with an account. It carries your token, so the CLI installs everything in one go.

FAQ

Why does the menu open from the left?

side="left" on SheetContent slides the panel in from the left, where people look for a menu. It fills the height and caps its width from the sm breakpoint.

Does the sheet close when a link is clicked?

Links in a sheet don't close it. When a link changes the page, close the sheet in its click handler, or let your router's navigation unmount it. To close it from code, control the open state: Pass open to Sheet; onOpenChange receives the next boolean.

How do I show it only on small screens?

Hide the trigger from the md breakpoint up, with md:hidden, and show your full navigation there instead.

How does the Menu button open the sheet?

The outline button labeled Menu is the trigger, and its text is the accessible name. The Button goes in the render prop of SheetTrigger, and the label stays its child.

What does the menu announce?

SheetTitle names the dialog for assistive tech, so every sheet renders one; hide it with sr-only when the design has no visible heading. It reads Menu. The sheet has no description, which is fine: the title says enough.