Navigation menu
网站的顶部导航:一排暗色的斜切块,其中一部分可在下方展开链接面板。
安装
# once per project: where @zzzui items come frompnpm dlx shadcn@latest registry add @zzzui=https://zzzui.catforest.dev/r/{name}.jsonpnpm dlx shadcn@latest add @zzzui/navigation-menu示例
委托、街区与一条普通链接
import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle,} from "@/components/zero/navigation-menu";const jobs = [ ["#board", "Job board", "Every open job, by reward or distance."], ["#rush", "Rush jobs", "Higher rewards, shorter windows."], ["#taken", "Taken", "What you are carrying now."], ["#history", "History", "Every job you handed in."],] as const;const districts = [ ["#harbor", "Harbor", "Cranes, crates, the night shift."], ["#rail-yards", "Rail yards", "Long routes, sealed cargo."],] as const;export default function NavigationMenuSite() { return ( <NavigationMenu> <NavigationMenuList> <NavigationMenuItem> <NavigationMenuTrigger>Jobs</NavigationMenuTrigger> <NavigationMenuContent> <ul className="grid gap-1 sm:w-[28rem] sm:grid-cols-2"> {jobs.map(([href, title, line]) => ( <li key={href}> <NavigationMenuLink href={href}> <strong>{title}</strong> {line} </NavigationMenuLink> </li> ))} </ul> </NavigationMenuContent> </NavigationMenuItem> <NavigationMenuItem> <NavigationMenuTrigger>Districts</NavigationMenuTrigger> <NavigationMenuContent> <ul className="grid gap-1 sm:w-64"> {districts.map(([href, title, line]) => ( <li key={href}> <NavigationMenuLink href={href}> <strong>{title}</strong> {line} </NavigationMenuLink> </li> ))} </ul> </NavigationMenuContent> </NavigationMenuItem> <NavigationMenuItem> <a href="#drivers" className={navigationMenuTriggerStyle}> Drivers </a> </NavigationMenuItem> </NavigationMenuList> </NavigationMenu> );}行为
各菜单共用同一个面板:从一个菜单移到下一个时,面板随之改变尺寸,内容沿移动方向滑过。面板内的每条链接自成一块,包含一行斜体标题(放在 strong 中)和一行说明文字。
导航栏中的普通链接使用 navigationMenuTriggerStyle;指向当前页的链接(aria-current="page")填充强调色。
属性
NavigationMenuList, NavigationMenuItem, NavigationMenuTrigger, NavigationMenuContent, NavigationMenuLink
另可传入 Base UI NavigationMenu.Trigger 的全部属性。